我应该制作一个对象,但是当我试图控制我的对象时它缺少属性?沼泽地
I should've made an object, but when i try to control my object it lacks Attributes? Swampy
我一直在按照我的 "think python" 书(3.x 的版本)中的说明进行操作,并且我已经完成了书上告诉我的所有内容,但我仍然在其中一个中遇到奇怪的错误的练习?
问题来了:
我应该玩弄模块 "swampy" 中的 "TurtleWorld",这就是我得到的(这正是书中所写的内容)
from TurtleWorld import *
world = TurtleWorld()
bob = Turtle
print (bob)
fd(bob, 100)
lt(bob)
fd(bob, 100)
wait_for_user()
当我尝试 运行 这段代码时,它应该启动一个名为 TurtleWorld 的新程序,在那里你应该看到一只乌龟向东然后向北移动,留下两条线段,但是当我尝试 运行 我得到这个错误的程序:
Traceback (most recent call last):
File "D:\Python34\Lib\swampy-2.1.5\Polygon.py", line 8, in <module>
fd(bob, 100)
File "D:\Python34\Lib\swampy-2.1.5\TurtleWorld.py", line 179, in fd
x, y = self.x, self.y
AttributeError: type object 'Turtle' has no attribute 'x'
这真的让我感到奇怪?就像我说的,我 100% 关注了这本书。
顺便说一句,书上是这样说的:
"第一行是我们之前看到的导入语句的变体;它没有创建模块对象,而是直接从模块导入函数,因此您无需使用点符号即可访问它们。
接下来的几行创建了一个分配给 world 的 TurtleWorld 和一个分配给 bob 的 Turtle。打印 bob 会产生如下结果:
<TurtleWorld.Turtle object at 0x00FD1CD0>W
但是当我使用 "print (bob)" 我明白了吗?
<class 'TurtleWorld.Turtle'>
我很乐意提供您需要的任何信息来帮助我:)
Link到本书的网络版:http://faculty.stedwards.edu/mikek/python/thinkpython.pdf
第 47-48 页解释了这些内容
这是 Swampy 下载的 link:
http://www.greenteapress.com/thinkpython/swampy/
我通过将 "swampy" 文件夹解压缩到文件夹 "libs" 来安装 swampy,所以模块的目录现在如下所示:
D:\Python34\Lib\swampy-2.1.5
Turtle
是一个 class,其中新的 Turtle
对象是由。
你需要的就是这样一个新对象。您必须 "call" class 才能创建新对象:
bob = Turtle()
bob 应该被实例化为 Turtle
class 的对象,而不是将 Turtle
class 分配给它。
示例 -
bob = Turtle()
或者
bob = Turtle(world)
我一直在按照我的 "think python" 书(3.x 的版本)中的说明进行操作,并且我已经完成了书上告诉我的所有内容,但我仍然在其中一个中遇到奇怪的错误的练习?
问题来了: 我应该玩弄模块 "swampy" 中的 "TurtleWorld",这就是我得到的(这正是书中所写的内容)
from TurtleWorld import *
world = TurtleWorld()
bob = Turtle
print (bob)
fd(bob, 100)
lt(bob)
fd(bob, 100)
wait_for_user()
当我尝试 运行 这段代码时,它应该启动一个名为 TurtleWorld 的新程序,在那里你应该看到一只乌龟向东然后向北移动,留下两条线段,但是当我尝试 运行 我得到这个错误的程序:
Traceback (most recent call last):
File "D:\Python34\Lib\swampy-2.1.5\Polygon.py", line 8, in <module>
fd(bob, 100)
File "D:\Python34\Lib\swampy-2.1.5\TurtleWorld.py", line 179, in fd
x, y = self.x, self.y
AttributeError: type object 'Turtle' has no attribute 'x'
这真的让我感到奇怪?就像我说的,我 100% 关注了这本书。
顺便说一句,书上是这样说的:
"第一行是我们之前看到的导入语句的变体;它没有创建模块对象,而是直接从模块导入函数,因此您无需使用点符号即可访问它们。
接下来的几行创建了一个分配给 world 的 TurtleWorld 和一个分配给 bob 的 Turtle。打印 bob 会产生如下结果:
<TurtleWorld.Turtle object at 0x00FD1CD0>W
但是当我使用 "print (bob)" 我明白了吗?
<class 'TurtleWorld.Turtle'>
我很乐意提供您需要的任何信息来帮助我:)
Link到本书的网络版:http://faculty.stedwards.edu/mikek/python/thinkpython.pdf
第 47-48 页解释了这些内容
这是 Swampy 下载的 link: http://www.greenteapress.com/thinkpython/swampy/
我通过将 "swampy" 文件夹解压缩到文件夹 "libs" 来安装 swampy,所以模块的目录现在如下所示:
D:\Python34\Lib\swampy-2.1.5
Turtle
是一个 class,其中新的 Turtle
对象是由。
你需要的就是这样一个新对象。您必须 "call" class 才能创建新对象:
bob = Turtle()
bob 应该被实例化为 Turtle
class 的对象,而不是将 Turtle
class 分配给它。
示例 -
bob = Turtle()
或者
bob = Turtle(world)