有沒有什麼方法可以在python中每次調用函數時變量的值發生變化?檢測python變量值的變化
有點像聽衆,也許?
具體而言,我指的是其中 僅變量是共享 像GAE會話腳本之間的情況。 (使用Cookies,Memcache等共享數據)
示例: ScriptA & ScriptB,共享會話變量。當腳本B改變它時,SctiptA必須調用一個方法來處理這個改變。
有沒有什麼方法可以在python中每次調用函數時變量的值發生變化?檢測python變量值的變化
有點像聽衆,也許?
具體而言,我指的是其中 僅變量是共享 像GAE會話腳本之間的情況。 (使用Cookies,Memcache等共享數據)
示例: ScriptA & ScriptB,共享會話變量。當腳本B改變它時,SctiptA必須調用一個方法來處理這個改變。
使用屬性。只有可變值可以更改爲開頭。
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
我不知道你可以在Python中定義這樣的可寫屬性。我不確定我是否喜歡它,但至少它是新穎的。 –
情況如果變量是一個類屬性,你可以define __setattr__
in the class。
你可能需要擴展型「INT」或「浮動」,並重寫功能「SETATTR」,使其以自己的方式迴應。
class MyInt(int):
...
def __setattr__(self, attr, val):
...
super(MyInt, self).__setattr__(attr, val)
...
var = MyInt(5)
當您談論'腳本A'和'腳本B'時,您是否期望處理程序之間針對不同請求進行通信?這是不可能的 - 一個應用程序可能在多個不同的服務器上運行。 –