导入Python龟工作的奇怪方式,但我不知道为什么

时间:2017-11-03 06:24:04

标签: python-3.x turtle-graphics

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

我注意到当我按照以下两种方式导入海龟模块时,我得到了相同的结果。

from turtle import Turtle
t=Turtle()
t.screen.bgcolor("black")

以及

import turtle
turtle.bgcolor("black")

我对此感到困惑,“来自乌龟进口龟”。

据我所知,这意味着“从龟(文件夹/包)中导入Turtle.py”。我可能错了,你可以帮助我更好地理解。

但我找不到任何Turtle.py模块。它只是turtle.py我看到了。

有什么奇怪的是它有效。

谁能告诉我为什么?

我使用的是Python 3.6版

1 个答案:

答案 0 :(得分:0)

Python的turtle.py很不寻常,因为它提供了基于功能的界面和面向对象的界面。根据您的导入方式,您可以使用其中一种或另一种,或两者兼而有之。

在这里,我们使用面向对象的界面来调用屏幕方法 bgcolor()

from turtle import Turtle

t = Turtle()
t.screen.bgcolor("black")

我通常把它写成:

from turtle import Turtle, Screen

screen = Screen()
screen.bgcolor("black")

t = Turtle()

直接访问Screen对象简化了事情。使用此样式导入,您无法访问基于功能的界面。

当我们更简单地导入时,我们可以访问两者基于功能的界面和面向对象的界面。在这里,我们使用函数 bgcolor()来设置背景颜色:

import turtle

turtle.bgcolor("black")

使用基于函数或面向对象的turtle.py接口很好,但是当混合两者时你可能会让自己感到困惑。