gpt4 book ai didi

Python 的属性装饰器没有按预期工作

转载 作者:太空狗 更新时间:2023-10-30 01:45:05 24 4
gpt4 key购买 nike

class Silly:
@property
def silly(self):
"This is a silly property"
print("You are getting silly")
return self._silly

@silly.setter
def silly(self, value):
print("You are making silly {}".format(value))
self._silly = value

@silly.deleter
def silly(self):
print("Whoah, you killed silly!")
del self._silly

s = Silly()
s.silly = "funny"
value = s.silly
del s.silly

但它不会像预期的那样打印“你越来越傻”、“你让傻很有趣”……。不知道为什么。伙计们,你能让我弄清楚吗?

提前致谢!

最佳答案

The property decorator仅适用于 new-style classes (see also)。使 Silly 显式地从 object 扩展,使其成为一个新样式的类。 (在Python 3中,所有类都是新式类)

class Silly(object):
@property
def silly(self):
# ...
# ...

关于Python 的属性装饰器没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9962037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com