类中的方法应该使用属性/设置器访问器,例如“add_to_field”还是应该直接访问私有变量,例如“从字段中减去”?
class Example(object):
def __init__(self, field):
self._field = field
@property
def field(self):
return self._field
@field.setter
def field(self, field):
self._field = field
def add_to_field(self, something):
self.field += something
def subtract_from_field(self, something):
self._field += something
如果 setter 没有纯粹设置变量,而是执行其他操作,例如日志记录,那又如何呢?这是不好的风格吗?
@field.setter
def field(self, field):
log.logger.debug("Field set to %r", field)
self._field = field
目前我的代码是两者的混合。不确定重构的方向。