提问人:user101 提问时间:11/16/2023 最后编辑:ggorlenuser101 更新时间:11/18/2023 访问量:55
未解析的引用“turtle”
Unresolved reference 'turtle'
问:
我试图使用以下代码从 turtle 导入 Turtle 和 Screen:
from turtle import Turtle, Screen
nora = turtle.Turtle()
screen = turtle.Screen()
但是编辑器(pycharm)显示-->
“未解析的引用''”
并建议使用“import turtle”来导入整个模块。
请帮忙。
这是编辑器的问题吗?
答:
3赞
ggorlen
11/16/2023
#1
不,这不是编辑器的问题。当您使用 时,这不会将模块作为一个整体导入,而只会从模块内部导入类。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 是首选导入,因为该模块添加了 100+ 个函数,这些函数表示模块代表您管理的单例 turtle。此单例 turtle 可能会导致与您的实例 turtle(使用 创建的对象)混淆。如果始终仅导入类,则保证不会与附加到模块的功能单例接口发生任何混淆。turtle.
Turtle()
Turtle
turtle
甚至可以跳过导入并通过 turtle 实例访问它:.Screen
screen = mora.screen
最危险的导入是 ,有时建议初学者使用,因为它减少了打字。但我从不使用它;它弊大于利,因为不仅会出现上述函数接口和实例接口之间混淆的可能性,而且变量和 120+ Turtle 函数之间也可能发生名称冲突,从而污染全局命名空间,从而导致数小时的可避免调试。from turtle import *
评论
Turtle
nora = Turtle()