Skip to main content
 首页 » 编程设计

python成员变量列表不是最新的

2025年05月04日10dyllove98

在 Python 代码中,我有一些成员变量。我已将构造函数默认参数设置为 None 以便稍后可以设置它们。我还有一个列表来遍历成员。问题是,当我稍后设置它时,列表不会反射(reflect)更新后的值。如何解决这个问题,使列表始终返回最新值?

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) 

预期结果是 [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) 

哪些输出:

[1, 2, 3]