【问题标题】:What is the decorator for turning a function to a field?将函数转换为字段的装饰器是什么?
【发布时间】:2014-04-14 12:02:26
【问题描述】:

在某个时候,我遇到了这样一段代码,用 python 编写的:

class Foo(object):
    @Mystery
    def bar():
       return 5+3
print Foo().bar

打印了 8。但是我不记得装饰器叫什么了。我是在想象事情,还是这存在?如果它确实存在,它叫什么?

【问题讨论】:

    标签: python python-decorators


    【解决方案1】:

    您正在寻找@property

    您可能想阅读how the @property decorator works

    简而言之,正如您所指出的,您可以使用它来为对象提供动态计算的属性。这在您可能有代码将其作为属性访问并且您不需要将其更改为函数调用的情况下非常有用。

    但是默认情况下这是只读的。要再次允许设置值,您可以创建一个 setter 装饰器。这是一个example on how you might use it in the real world,它还向您展示了如何使用它。

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 2020-06-22
      • 2019-07-09
      • 1970-01-01
      相关资源
      最近更新 更多