发布网友 发布时间:2022-04-19 15:30
共1个回答
热心网友 时间:2023-07-19 23:59
AttributeError: mole 'turtle' has no attribute 'circle'
AttributeError: 'turtle' 模块没有属性 'circle'
你先声明一个 Turtle 对象试试, 然后用这个对象调用这些绘图函数
例如
网上的并不是你所说 "应该是完整的", 就像现在, 我只是一个初二学生, 一个编程爱好者, 并不是什么专业人士, 即使是专业人士也可能会出错, 而且大多数回答都是像我这样的网民回答的。而且现在许多博客不知道是被 "转载" (应该说是抄袭) 了多少次。也许只有官方文档是最权威的。。。
你所看到的网上的做法一点都不符合面向对象, 而 Python 是一门面向对象编程 (也许有函数式的影子)
对象: 一个类的实例, 就像人类可以抽象为一个类, 而你就是一个实例。
因此可以把类简述为: 描述一类对象特征的统一模型。而类的方法和属性就可以看做一类对象的的特征或行为。
追问抱歉,我只是初学turtle,我不太能理解你所说的声明一个turtle对象是什么意思。我所运行的代码是在网上找到的样例,照理说应该是完整的,但还是出现了这种情况?请问能否再详细说明一下?追答
许多网上的用例都是直接用"模块调用方法", 模块只是一个 py 文件, 只能调用里面的函数。并不符合面向对象, 他们的用法就像一个 造物主(你) 给 人类全体(类) 下一个命令, 但这个命令只能让 人类某一个成员(类对象) 来做。
而正确的用法应该是 造一个人 (是声明, 别想歪啊!), 然后下命令(调用)。
扩展:
类: 一个抽象的模型, 用于描述一类对象的特点, 而此特点可以是属性、方法。如人, 有几个眼睛嘴巴之类的。
模块: 相当于一个 静态公共类 (也许有不同), 访问属性可以用 模块名.属性名 访问。如果是同一模块则直接用属性名访问。
属性: 包括类对象、基本类型值、函数和方法等等 (应该没有"等等", 不确定...)
方法: 存在于类之中的"函数", 但是需要用特定类对象调用(静态属性则用 类名.属性名)。
函数: 存在于模块中, 用 模块名.函数名(参数)调用。如果是一个模块或用 form ... import, 则直接调用函数名即可。
函数和方法可以理解为你想让计算机做的连贯性动作, 比如喝水。
静态: 就是一个东西的存活时间, 可能直至程序结束这个东西才从内存 (RAM) 里消失。
from <模块/文件夹> import ... 相当于将模块/文件夹下的模块合并到此作用域。
嗯, 这些是我个人看法, 有问题还请大佬指正。