为什么即使我没有在python中创建海龟对象,我的代码也能工作



我是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()

最新更新