在Python代码中,我有一些成员变量。我已将构造函数默认args设置为None,以便以后可以设置它们。我还列出了要遍历成员的列表。问题是,当我稍后进行设置时,该列表无法反映更新后的值。如何解决此问题,以便列表始终返回最新值?
class Foo:
def __init__(self, x=None, y=None, z=None):
self.x = x
self.y = y
self.z = z
self.list = [self.x, self.y, self.z]
f = Foo(4)
f.x = 1
f.y = 2
f.z = 3
print(f.list)
Run Code Online (Sandbox Code Playgroud)
预期结果是[1,2,3],但我得到了[4,None,None]
list作为属性添加到您的班级。
class Foo:
def __init__(self, x=None, y=None, z=None):
self.x = x
self.y = y
self.z = z
@property
def list(self):
return [self.x, self.y, self.z]
f = Foo(4)
f.x = 1
f.y = 2
f.z = 3
print(f.list)
Run Code Online (Sandbox Code Playgroud)
哪个输出:
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)