我正在使用一些需要连接到数据库的类。只有在执行实际行动时才需要连接。我想延迟连接阶段,直到真正需要它。对于这一点,我希望做一些与此类似:使用类装饰器实现后期初始化
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