调用
例如,我有一个类:
class A:
def __init__(self):
self.a = 10
在实例生命周期中,我将的值更改为20
test = A()
test.a = 20
通过哪种方式我可以正确地重新初始化这个实例,使其成为默认值?
调用__init__的方式好吗?
调用__init__
会有效果,但我不建议这样做,因为其他阅读您代码的人可能更难快速理解您要做的事情。我会创建一个reset()
函数:
class A:
def __init__(self):
self.a = 10
def reset(self):
self.a = 10
现在,
test = A()
test.a = 20
test.reset() # now test.a = 10
为了避免代码重复,您还可以从__init__
:调用reset()
函数
class A:
def __init__(self):
self.reset()
def reset(self):
self.a = 10
__init__
就像用另一种语言第二次调用构造函数。你不能这样做。
您可以创建一个名为reset_variables
的方法,该方法将在构造函数中调用,并且您可以调用自己。