2.4.1 定义
类的定义
继承
class MyTurtle(turtle.Turtle):
_all_turtles = {}
def __init__(self, *args, name="", **kwds): # args和kwds主要用来把除了name之外的参数传给turtle.Turtle的__init__,这样我们还是可以MyTurtle('turtle', name='ada')创建出一个小海龟形状的小海龟
super(MyTurtle).__init__(*args, **kwds) # 很重要!MyTurtle继承了turtle.Turtle,而turtle.Turtle.__init__里面还做了许多其他事情
self.name = name or "Ishmael" # 给小海龟起名字,如果没有指定名字……管我叫以实玛利吧!
if self.name in MyTurtle._all_turtles:
raise Exception("重名了!") # raise语句用来报错,你们曾经看过的各种错误都可以通过raise报出来。
MyTurtle._all_turtles[name] = self
def polygon(self, n, side):
for i in range(n):
self.fd(side)
self.rt(360. / n)注意类体与函数体的区别
Last updated