以下哪两种方法被认为是最佳做法?两者都达到了相同的效果.
class Foo():
LABELS = ('One','Two','Three')
class Bar():
def __init__(self):
self.__labels = ('One','Two','Three')
@property
def labels(self):
return self.__labels
解决方法:
如果您不需要自定义获取或设置行为,那么制作某个属性是没有意义的.第一个版本更好.
而且,这些行为并不完全相同.在Foo中,标签有一个类级别属性.在酒吧,没有.引用Foo.LABELS将正常工作,引用Bar.labels将引发异常.