在 __init__ 方法或 getter 中定义私有类变量是更好的风格吗?似乎在调用它之前不需要定义变量。
在init中定义变量:
class Foo(object):
def __init__(self):
self._bar = None
@property
def bar(self):
if self._bar is None:
self._bar = Bar()
return self._bar
@bar.setter
def bar(self, value):
self._bar = value
在 getter 中定义它:
class Foo(object):
@property
def bar(self):
if not hasattr(self, '_bar'):
self._bar = Bar()
return self._bar
@bar.setter
def bar(self, value):
self._bar = value