当其他属性更改而没有@property时更新类属性

问题描述

假设我有一个具有三个属性的类,分别为at_1,at_2和at_3,而at_3以复杂的方式依赖于其他两个属性。当我用at_1和at_2初始化类时,我调用一个在类中还定义了计算at_3的方法。这样的事情就可以了:

class My_class:
    def __init__(self,at_1,at_2)
        self.at_1=at_1
        self.at_2=at_2
        self.at_3=self.some_complicated_function(at_1,at_2)

    def some_complicated_function(self,at_2):
        return at_1+at_2

现在,我希望如果更改at_1或at_2,则at_3也将相应地更新。一种选择是使用@property装饰器定义at_3,但这意味着每次我要查找at_3时,都必须再次执行some_complicated_function。我想要类似的东西:“如果任何属性发生更改,请重新运行some_complicated_function并更新at_3作为属性。”

有办法吗? (下一行,如果任何属性更改,我想在类中自动运行一个函数

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)