您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python装饰器作为静态方法

Python装饰器作为静态方法

这不是staticmethod应该使用的方式。staticmethod对象是返回包装对象的描述符,因此它们仅在以身份访问时才起作用classname.staticmethodname。例

class A(object):
    @staticmethod
    def f():
        pass
print A.f
print A.__dict__["f"]

版画

<function f at 0x8af45dc>
<staticmethod object at 0x8aa6a94>

在的范围内A,您将始终获得后一个对象,该对象不可调用

我强烈建议将装饰器移至模块作用域- 它似乎不属于类内部。如果您想将其保留在类中,请不要将其设置为staticmethod,而应将其简单地del放在类主体的末尾-在这种情况下,不应在类外部使用它。

python 2022/1/1 18:34:31 有212人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶