导入蟒蛇的奇怪方式有效,但我不知道为什么



我希望你能理解我的问题。

注意到当我通过以下方式导入 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 都可以,但是在混合两者时,您可能会感到非常困惑。

相关内容

最新更新