3

在 python 2.7 版中,turtleTurtle有什么不同?

import turtle
star = turtle.Turtle()
for i in range(50):
    star.forward(50)
    star.right(144)
turtle.done()
4

6 回答 6

6

乌龟模块是不寻常的。为了使初学者更容易,Turtle 类的所有方法也可用作对默认(未命名)turtle 实例进行操作的顶级函数。Screen 类的所有方法也可用作在默认(唯一)屏幕实例上操作的顶级函数。所以这两个:

import turtle

star = turtle.Turtle()  # turtle instance creation

for i in range(5):
    star.forward(50)  # turtle instance method
    star.right(144)  # turtle instance method

screen = turtle.Screen()  # access sole screen instance
screen.mainloop()  # screen instance method

和这个:

import turtle

for i in range(5):
    turtle.forward(50)  # function, default turtle
    turtle.right(144)

turtle.done()  # function, mainloop() synonym, acts on singular screen instance

都是有效的实现。许多海龟程序最终将功能接口与对象接口混合在一起。为避免这种情况,我强烈建议使用以下导入语法:

from turtle import Turtle, Screen

这迫使对象方法使用turtle,使函数方法不可用:

from turtle import Turtle, Screen

star = Turtle()  # turtle instance creation

for i in range(5):
    star.forward(50)  # turtle instance method
    star.right(144)  # turtle instance method

screen = Screen()  # access sole screen instance
screen.mainloop()  # screen instance method
于 2017-03-18T16:12:56.907 回答
1

turtle 是您导入的模块,而 Turtle 是该类的名称。使用 from turtle import * 消除了对 turtle.Turtle 的需要。

于 2019-11-21T18:40:25.027 回答
1

简单来说,turtle就是用来实例化类的包或者库和Turtle()类的构造方法。

于 2020-08-26T17:09:28.273 回答
0

turtle是包Turtle的名称,而是类的名称。

导入模块的另一种方法是:

import turtle.Turtle

另外,你确定最后一行是turtle.done()而不是star.done()

于 2017-03-18T12:10:12.150 回答
-1

turtle 是一个方法,它包含一个高贵的 Turtle 类

于 2021-02-19T04:30:49.757 回答
-1

第一个海龟被调用turtle并被它的名字或变量引用,该turtle.Turtle方法创建一个新的海龟并且(大多数时候),你将它设置为一个变量。

于 2020-07-04T14:52:33.627 回答