我是python的新手,我目前正在学习海龟模块。只要我理解turtle是一个模块,其中我们有Turtle
类,所以这是否意味着首先我们需要创建一个Turtle
对象来使用该对象的方法。
:
my=turtle.Turtle()
但是当我只是导入海龟和写turtle.forward(50)
这工作,但我没有创建任何Turtle
对象,有人能解释为什么这也工作?
如果您看到文件turtle.py
,如果您不创建对象并直接调用函数,它将为您创建一个对象。
在Turtle .py文件中,您可以看到在第128行,它定义了Turtle对象的所有函数的列表_tg_turtle_functions
。
在3856行中,你可以清楚地看到它们计算一个对象并调用你想要的特定函数。
quarmarana在评论中写道,这是一个简单方便初学者。如果你对它是如何工作的感到好奇,你可以在turtle模块的代码中看到它,尽管它有点不透明,因为它使用了一些代码生成技巧。
对于Turtle
类上的大多数主要方法(例如Turtle.forward
),它生成一个forward()
函数,本质上只是一个包装器,用于初始化Turtle()
并在其上调用forward()
。