为变量设置监视器,以便在变化时运行函数?

时间:2014-05-23 22:41:07

标签: python

因此,我有两个对象代表用户的设置和用户的数据。我想做的是有一种监视器,只要我在代码中更改它们就会保存设置/数据。我可以肯定只是在每次更改后都包含一个函数调用,但这只是一个有趣的概念,我想知道这样的想法是否可行。

首先想到的解决方案是分离一个线程,该线程将复制对象,然后循环一个计时器,每次检查对象是否与副本不同。

这样的计划是否可行?有没有更好的办法?理论上,数据对象可能有点大,因为它存储了一些缓存的图像和大量的文本;这样做会导致明显的性能问题吗?

1 个答案:

答案 0 :(得分:1)

Python中无法监视对简单变量的更改。但是,您可以在类实例中完成您想要的成员变量。

查找"属性描述符"。

这里有一个很好的解释:http://nbviewer.ipython.org/urls/gist.github.com/ChrisBeaumont/5758381/raw/descriptor_writeup.ipynb