@property
标记与经典的getter+setter相比有哪些优势?在哪些特定情况下程序员应选择使用其中之一?
使用属性:
class MyClass(object):
@property
def my_attr(self):
return self._my_attr
@my_attr.setter
def my_attr(self, value):
self._my_attr = value
没有属性:
class MyClass(object):
def get_my_attr(self):
return self._my_attr
def set_my_attr(self, value):
self._my_attr = value