我正在使用一些需要連接到數據庫的類。只有在執行實際行動時才需要連接。我想延遲連接階段,直到真正需要它。對於這一點,我希望做一些與此類似:使用類裝飾器實現後期初始化
class MyClass
def __init__(self):
self.conn = None
def connect(self):
if self.conn : return
self.conn = ConnectToDatabase()
@connect
def do_something1(self):
self.conn.do_something1()
@connect
def do_something2(self):
self.conn.do_something2()
但我不知道如何界定connect
裝飾爲類。
我當然可以做這樣的事情:
def do_something1(self):
self.connect()
self.conn.do_something1()
但使用的裝飾似乎是一種更可讀的解決方案。可能嗎?
這太好了,謝謝。我何時會停止學習? – dangonfast 2013-03-13 17:29:23
當你死亡。 :) – 2013-03-13 17:29:35
如果你停止學習,你已經過時,將被更新的模型取代。 – kindall 2013-03-13 17:37:31