展开全部
python的类里用@staticmethod的是静态方法,@classmethod的是类方62616964757a686964616fe58685e5aeb931333363393038法,如下class Person(object):
person_list = []
def __init__(self, name, age):
self.name = name
self.age = age
self.person_list.append(self)
@classmethod
def one_year_later(cls):
for p in cls.person_list:
p.age += 1
@staticmethod
def born_one_boby(name):
return Person(name, 0)
def __repr__(self):
return '' % (self.name, self.age)
if __name__ == '__main__':
petter = Person('Petter',23)
merry = Person('Merry',21)
print(petter) #
print(merry) #
Person.one_year_later()
print(petter) #
print(merry) #
baby = merry.born_one_boby('Tom')
print(Person.person_list) # [, , ]