在python中,是否有某种方法可以在变量值每次更改时调用一个函数?
或许像听众一样?
具体来说,我指的是这样的情况 仅共享变量 像GAE-Session这样的脚本之间。 (使用Cookie,Memcache等共享数据)
实施例: ScriptA& ScriptB,共享一个会话变量。当脚本B更改它时,SctiptA必须调用一个方法来处理该更改。
答案 0 :(得分:4)
使用属性。只有可变值可以改为开始。
class Something(object):
@property
def some_value(self):
return self._actual
@some_value.setter
def some_value(self, value):
print ("some_value changed to", value)
self._actual = value
答案 1 :(得分:2)
如果变量是类属性,您可以define __setattr__
in the class。
答案 2 :(得分:1)
此package可能会有所帮助。
答案 3 :(得分:0)
你可能需要扩展类型" int"或"浮动",并覆盖函数" setattr",使其以您自己的方式响应。
class MyInt(int):
...
def __setattr__(self, attr, val):
...
super(MyInt, self).__setattr__(attr, val)
...
var = MyInt(5)
答案 4 :(得分:-1)
对于这种情况(我不敢相信我说的话)听起来像是塞特犬的情况
def set_myvar(x):
my_var = x
some_function()
return my_var