代码:
class parent:
number = 0
def __init__(self):
self.increment_number()
@classmethod
def increment_number(cls):
cls.number += 1
class child1(main):
def __init__(self):
parent.__init__(self)
self.current_number = self.number
class child2(main):
def __init__(self):
parent.__init__(self)
self.current_number = self.number
a = child1()
print(a.current_number)
>>>1
b = child2()
print(b.current_number)
>>>1
c = child2()
print(c.current_number)
>>>2
我试图了解如何在父类中更改变量。在这种情况下,变量为number
,因此number
在所有子类中也都被更改。
目前看来,increment_number
方法更改了child1
或child2
的数字值。
我希望创建对象时,current_number
的值表示number
的值:
a = child1()
print(a.current_number)
>>>1
b = child2()
print(b.current_number)
>>>2
c = child2()
print(c.current_number)
>>>3
无论调用哪个类,继承父类的每个新对象的值都为current_number
。
任何帮助将不胜感激!