首页 > 解决方案 > Python 属性装饰器在方法中的使用

问题描述

这之间有点纠结。这不是关于财产如何运作的问题,而是关于使用的问题。我确实了解属性可用于获取、设置、删除属性。但我的问题是,当我知道方法永远不会有任何参数时,是否可以将其用于操作或方法?这样做的原因 - 我觉得它更直观

这就是我的意思,

Class Dancer(object):
    def __init__(self, name):
        self._name = name

    #this would be a typical use case
    @property
    def name(self):
       return self._name

    #is this ok ? 
    @property
    def dance(self):
       print("moves like jagger")
       return self

dancer = Dancer("levine")
print(dancer.name)
dancer.dance    #why not ?

我开始为我的一个项目这样做(仅适用于有意义的情况)。但开始因为这样做而受到强烈反对?这有什么问题?任何想法,建议?

PS我知道这样的方法永远不会有参数

标签: pythonpython-3.xpython-decorators

解决方案


推荐阅读