Python版本是3.6.5.
。我正在学习如何正确地使用@decorator
语法糖作为我的class Duck
。但似乎我做错了什么,我的qq_duck
死于过热。下面是演示:
class Duck(object):
def __init__(self, name):
self.name = name
@property
def name(self):
print("Quack! My name is", self.name)
@name.setter
def name(self, name):
print("I've decided to change my name into", name, ".")
print("So please call me", name, "from now on! Quack!")
self.name = name
终端:
^{pr2}$请帮忙。。。在
你的什么自身名称正在调用您刚刚定义的属性。但这就是它最初所说的,所以它会无限循环。在
该代码可以表示为:
{assign>当你调用cdsetter函数时。这确实会导致无限递归。在
解决方法可能是:
请注意成员
self._name
与属性self.name
有何不同。在相关问题 更多 >
编程相关推荐