我如何编写一个名为 nextyear() 的函数,使所有动物的年龄增加 1?
class Animal:
def __init__(self, age):
self.age=age
animal1 = Animal (5)
animal2 = Animal (7)
animal3 = Animal (3)
最佳答案
你可以使用一个类变量和一个属性:
class Animal:
year = 0
def __init__(self, age):
self._age = age - self.__class__.year
@property
def age(self):
return self._age + self.__class__.year
@classmethod
def next_year(cls):
cls.year += 1
animal1, animal2, animal3 = Animal(5), Animal(7), Animal(3)
for animal in (animal1, animal2, animal3):
print(animal.age)
print("Next year:")
Animal.next_year()
for animal in (animal1, animal2, animal3):
print(animal.age)
关于python - 如何将一个类中所有对象共享的变量增加 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310223/