Difference between turtle and Turtle?

橙三吉。 提交于 2019-12-02 07:54:04

问题


How turtle and Turtle is diffrent from each other in python 2.7 ?

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

回答1:


The turtle module is unusual. To make it easier for beginning programmers, all methods of the Turtle class are also available as top level functions that operate on the default (unnamed) turtle instance. All methods of the Screen class are also available as top level functions that operate on the default (sole) screen instance. So both this:

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

and this:

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

are both valid implementations. Many turtle programs end up mixing the functional interface with the object interface. To avoid this, I strongly recommend the following import syntax:

from turtle import Turtle, Screen

This forces the object approach to using turtle, making the functional approach unavailable:

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



回答2:


turtle is the name of the package while Turtle is the name of the class.

An alternate way of importing the module would be:

import turtle.Turtle

Also, are you sure the last line is turtle.done() and not star.done()?




回答3:


turtle is the module that you import while Turtle is that name of the class. Using from turtle import * removes the need for turtle.Turtle.



来源:https://stackoverflow.com/questions/42874183/difference-between-turtle-and-turtle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!