【发布时间】:2019-10-16 03:45:12
【问题描述】:
我遇到了一个问题,我必须创建一个简单的面向对象的代码来创建两个朝相反方向移动的海龟,但在我的试验中我遇到了未知错误
我尝试用self 初始化两个变量turtle1 和turtle2,因为我继承了Turtle 和s
from turtle import *
class moveOpposite(Turtle):
def __init__(self):
self.setx=0
self.sety=0
def move(self):
turtle1=self
turtle2=self
turtle1.forward(100)
turtle2.forward(-100)
my_turtle=moveOpposite()
my_turtle.move()
我没有使用self._go,但我的错误提示我这样做了:
self._go(distance)
我也没有使用self._position 等,但它也说我使用了并给了我一个AttributeError
ende = self._position + self._orient * distance
AttributeError: 'moveOpposite' object has no attribute '_position'
【问题讨论】:
-
在
turtle1=self和turtle2=self之后,您现在只需为单个海龟对象设置三个名称——实际上您还没有创建 任何东西。而且您的moveOpposite类的实例无论如何都不是有效的Turtles,因为您的__init__()不会调用继承的__init__(),它会执行各种必要的初始化。
标签: python class turtle-graphics