微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

类中的属性错误龟类继承

如何解决类中的属性错误龟类继承

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).

属性错误出现在第 9 行。

'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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。