假设我有一个NamedObject
具有属性的类name
。现在,如果我必须使用 setter,我首先必须定义一个 getter(我猜?),如下所示:
class NamedObject:
def __init__(self, name):
self.name = name
@property
def name(self):
return self._name
现在我想知道,在 setter 中,我应该使用self._name
or self.name
,getter 还是实际属性?设置名称时,I ofc。需要使用_name
,但是当我进入二传手的时候呢?例如:
@name.setter
def name(self, value):
if self._name != str(value): # Or should I do 'if self.name != value' ?
self.doStuff(self._name) # Or doStuff(self.name) ?
self.doMoreStuff()
self._name = str(value)
使用哪一个真的很重要,为什么要使用一个而不是另一个?