我尝试使用以下代码从海龟导入 Turtle 和 Screen:
from turtle import Turtle, Screen
nora = turtle.Turtle()
screen = turtle.Screen()
但是编辑器(pycharm)显示-->
“未解决的参考‘海龟’”
并建议使用“importturtle”导入整个模块。
请帮忙。
这是编辑器的问题吗?
不,这不是编辑器的问题。当您使用
from turtle import Turtle
时,不会导入整个 turtle
模块,仅导入 Turtle
模块内部的 turtle
类。
因此,您可以执行以下两件事之一:
导入模块并访问
Turtle
:
import turtle
mora = turtle.Turtle()
screen = turtle.Screen()
导入
Turtle
类并在使用时删除turtle.
模块命名空间:
from turtle import Screen, Turtle
mora = Turtle()
screen = Screen()
方法 2 是首选导入,因为
turtle.
模块添加了 100 多个函数,这些函数代表模块代表您管理的单例海龟。这个单例海龟可能会导致与您的实例海龟(使用 Turtle()
创建的对象)混淆。如果您始终仅导入 Turtle
类,则可以保证附加到 turtle
模块的功能单例接口不会出现任何混淆。
最危险的导入是
from turtle import *
,有时建议初学者使用它,因为它可以减少打字。但我从来不使用这个;它造成的弊大于利,因为不仅上面提到的函数接口和实例接口之间可能会出现混淆,而且变量和 120 多个乌龟函数之间可能会发生名称冲突,从而污染全局命名空间,从而导致数小时的时间调试。