Python 将变量值重置为 _init_ 中的值



>我不确定我是否正确地提出了这个问题,但我会尽力解释我的问题。

我在下面有代码,其中 x 和 y 在开始时设置为None。在新函数中,根据条件更新 x 和 y。

class problem()
def __init__(self):
self.x = None
self.y = None
def function(self):
if some_condition:
self.x = 10
self.y = 5
else:
self.x = None
self.y = None

我在这里遇到的问题是__init__()变量的总数约为 10,所有这些都必须根据条件设置为一个值或重置回原始值。

有没有一种 pythonic 方法可以在if条件失败时将变量重置回原始__init__()值?

class problem():
def __init__(self):
self.reset()
def function(self):
if self.x == None:
self.x = 10
self.y = 5
else:
self.x = None
self.y = None
def reset(self):
self.x = None
self.y = None
# These prints will help you understand how it works
per = problem()
per.function()
print(per.x, per.y)
per.reset()
print(per.x, per.y)

就像看起来一样简单。 我已经在init中输入了 reset((,因为它看起来更好。 另外,我强烈建议查看Corey Schafer的OOP Python教程,他 以我听到的最好的方式解释。

最新更新