我有一個名爲Server的類可以啓動和停止。除非啓動服務器,否則不應調用某些方法,在這種情況下應引發NotConnectedException。有沒有辦法在類中的每個方法之前調用方法,並確定類變量_started是否設置爲True?在方法調用之前檢查條件
我試過使用裝飾器,但裝飾器函數沒有訪問類變量。我試圖做這樣的事情:
class Server(object):
_started = False
def started(self):
if(self._started == False):
raise NotConnectedException
@started
def doServerAction(self):
...
你是否嘗試將裝飾器直接放入類中?我還沒有在裝飾器上工作足夠多,知道這會工作,但它是我開始尋找 – inspectorG4dget
這個[post](http://stackoverflow.com/questions/2366713/can-a-python-decorator-如果它是python2.6或更高版本,那麼你的裝飾器可以訪問類變量 – xvatar
@ inspectorG4dget是的,裝飾器在類中。 – BlueVoid