2.4.4 类方法
class MyTurtle(turtle.Turtle):
_all_turtles = {} # 用一个dict将小海龟名字和小海龟对象本身对应起来
def __init__(self, name, *args, **kwds):
super(MyTurtle).__init__(*args, **kwds)
self.name = name
MyTurtle._all_turtles[name] = self
@property
def n_turtles(self):
return len(MyTurtle._all_turtles)
@classmethod
def get_by_name(cls, name):
return cls._all_turtles[name]
ada = MyTurtle('ada')
another_ada = MyTurtle.get_by_name('ada')
if ada == another_ada:
print("相等!")
print(ada.n_turtles) # 结果:1Last updated