python – 将函数转换为字段的装饰器是什么?
作者:互联网
在某些时候,我遇到了一段代码,用python编写:
class Foo(object):
@Mystery
def bar():
return 5+3
print Foo().bar
哪个打印8.然而我不记得装饰者被称为什么.我在想象事物,还是存在?如果确实存在它叫什么?
解决方法:
您正在寻找@property
.
您可能想阅读how the @property
decorator works.
简而言之,正如您所指出的,您可以使用它来为对象提供动态计算的属性.这在您可能拥有作为属性访问该代码的代码并且您不必将其更改为函数调用的情况下非常有用.
但是,默认情况下这是只读的.要允许再次设置值,您可以创建一个setter装饰器.这是一个example on how you might use it in the real world,它还向您展示了如何使用它.
标签:python-decorators,python 来源: https://codeday.me/bug/20190825/1716474.html