我希望你能理解我的问题。
我注意到当我通过以下方式导入 turtle 模块时,我得到了相同的结果。
from turtle import Turtle
t=Turtle()
t.screen.bgcolor("black")
还有
import turtle
turtle.bgcolor("black")
我对此感到困惑,"来自海龟进口海龟"。
据我所知,它的意思是"从(文件夹/包裹)导入 Turtle.py"。 我可能是错的,你可以帮我更好地理解。
但是我找不到任何 Turtle.py 模块。这只是我看到的 turtle.py。
奇怪的是它有效。
谁能告诉我为什么?
我正在使用 Python 版本 3.6
Python的 turtle.py 不同寻常,因为它同时提供了基于函数的接口和面向对象的接口。 根据导入它的方式,您可以使用其中一个或另一个,或两者兼而有之。
在这里,我们使用面向对象的接口来调用 screen 方法bgcolor()
:
from turtle import Turtle
t = Turtle()
t.screen.bgcolor("black")
我通常把它写成:
from turtle import Turtle, Screen
screen = Screen()
screen.bgcolor("black")
t = Turtle()
因为直接访问屏幕对象简化了事情。 使用此样式导入,无法访问基于函数的界面。
当我们执行这个更简单的导入时,我们可以访问基于函数的接口和面向对象的接口。 在这里,我们使用函数bgcolor()
来设置背景颜色:
import turtle
turtle.bgcolor("black")
使用基于函数或面向对象的接口来 turtle.py 都可以,但是在混合两者时,您可能会感到非常困惑。