Skip to main content
 首页 » 编程设计

python之如何让对象属性在 Python 中动态更新

2025年05月04日20softidea

我想创建一个具有 2 个输入属性和 1 个输出属性的类,这样只要修改其中一个输入属性,输出属性就会自动修改

我已经尝试将属性定义为构造函数内部和外部的实例变量,但在任何一种情况下,在实例化对象之后,输出属性都保持固定在实例化时设置的值

class Example(): 
 
    def __init__(self,n): 
        self.name=n 
 
    inA=1 
    inB=1 
 
    if inA==1 and inB==1: 
        outA=1 
    else: 
        outA=0 

当实例化的 outA 按预期设置为 1 时 但如果我尝试更新: object.inA=0

object.outA 保持为 1 而我需要将其更新为 0

尽可能避免使用函数。 python 和 OOP 的新手,如果这个问题是荒谬的或有一个明显的答案,我们深表歉意

请您参考如下方法:

如果您想要依赖于其他实例属性的实例属性,属性是可行的方法。

class Example: 
    def __init__(self, n): 
        self.name = n 
        self.inA = 1 
        self.inB = 1 
 
    @property 
    def outA(self): 
        return self.inA and self.inB 

您可以像访问常规实例属性 obj.outA 一样访问 outA。

>>> my_obj = Example("example") 
>>> my_obj.outA 
1 

更改属性 inA 和 inB 会影响 outA。

>>> my_obj.inA = 0 
>>> my_obj.outA 
0