我看到了如下代码(来自https://github.com/daydayfree/diggit/blob/master/model/model.py):
from database import Database
...
class Model(object):
@property
def db(self): return Database()
def insert(self, documents):
return self.db.insert(self.table, documents)
...
主要目的@property
是提供对Database()
实例方法的访问,我正确吗?
那么我可以将其重写为:
from database import Database
...
class Model(object):
def __init__(self):
self.db = Database()
def insert(self, documents):
return self.db.insert(self.table, documents)
和
from database import Database
...
class Model(object):
def db(self):
return Database()
def insert(self, documents):
return self.db().insert(self.table, documents)
...
? 如果不是,它们之间有什么区别?