我希望此方法更新某个值,除非传递另一个值,它应该更新。以下是我想要做的一个例子:
def update_t(self,t=self.t):
"If nothing is passed, then the default parameter is the attribute self.t"
t=t+1
我得到“自我未被定义”
这是一个相关的问题:default value of parameter as result of instance method
...但是由于此值已更新,我不能将其设为None。我也不能成为一个对象,因为这会给我一个错误(不能添加对象和int)。有任何想法吗?感谢。
答案 0 :(得分:2)
使用可以解析的对象。例如None
。
def update_t(self, t=None):
"If nothing is passed, then the default parameter is the attribute self.t"
if t is None:
self.t += 1
else:
t += 1
请注意,这可能不会更改传递给它的值,因为如果对象没有__iadd__()
方法,本地名称可能会反弹。