问题描述
class Turtle_new(turtle.Turtle):
def __init__(self):
self.walks = 10000
def go(self):
r1 = random.randint(0,90)
r2 = random.randint(270,360)
if random.randint(0,1):
self.setheading(r1)
else:
self.setheading(r2)
self.pensize(3)
self.speed('fast')
r4 = random.randint(0,255)
self.setheading(r1).
'Turtle_new' 对象没有属性 '_orient'
这是错误。我已将“self.setheading”更改为“super()”,但出现错误。同样的错误发生在 self.speed('fast) 将“_orient”更改为“_screen”。 有什么问题?
解决方法
您必须确保调用 Turtle.__init__
以便正确初始化您的实例。与某些语言不同,父初始化器不会自动调用;你必须明确。
from turtle import Turtle
class Turtle_new(Turtle):
def __init__(self,kwargs):
super().__init__(**kwargs)
self.walks = 10000
...
Turtle.__init__
(间接)初始化 self._orient
。究竟如何与此答案无关;如果您好奇,可以探索the turtle
module。