Loc*_*cke 4 python properties class decorator new-style-class
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
Run Code Online (Sandbox Code Playgroud)
但它没有打印出"你变得愚蠢","你正在制造愚蠢的搞笑",......正如预期的那样.不知道为什么.亲爱的,你能让我弄清楚吗?
提前致谢!
ick*_*fay 15
该property装饰只适用于新的样式类(也见).请Silly从扩展object明确,使之成为新式类.(在Python 3中,所有类都是新式类)
class Silly(object):
@property
def silly(self):
# ...
# ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |