首页 > 解决方案 > 如何正确重新初始化python对象?

问题描述

例如,我有这个类:

class A:
    def __init__(self):
        self.a = 10

在实例生命周期中,我将 a 的值更改为 20

test = A()
test.a = 20

我可以通过哪种方式正确地重新初始化此实例以设置默认值?

调用 __ init__ 的方式好吗?

标签: python

解决方案


调用 an__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

为了避免代码重复,您还可以reset()从以下调用该函数__init__

class A:
    def __init__(self):
        self.reset()

    def reset(self):
        self.a = 10

推荐阅读