类中的方法应该使用属性/设置器访问器,例如“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
目前我的代码是两者的混合。不确定重构的方向。