这是使用 Python 文档中给出的属性的示例:
Class C(object):
def __init__(self):
self._x = None
def getx(self):
return self._x
def setx(self, value):
self._x = value
def delx(self):
del self._x
x = property(getx, setx, delx, "I'm the 'x' property.")
据我所知,这就像一个常规的无属性实例变量:
Class D(object):
def __init__(self):
self.x = None
当然,这无法向 getter 或 setter 添加额外的逻辑,但是,由于其他代码与 C 和 D 交互的方式没有区别,因此您可以随时在以后需要时添加属性而不会破坏任何其他代码。
我知道如果您使用在类级别声明的可变类型,这会产生问题,即:
class E(object):
x = [1,2,3]
但是,除了这种情况,在需要它们之前忽略这些属性是不好的做法,还是可以接受的?
谢谢!