如何使用静态方法初始化静态变量? [复制]

Posted

技术标签:

【中文标题】如何使用静态方法初始化静态变量? [复制]【英文标题】:How to initialise static variable using static method? [duplicate] 【发布时间】:2016-03-05 09:34:22 【问题描述】:
class One:
    i = One.get(9)
    @staticmethod
    def get(val):
        pass

我尝试使用静态方法初始化静态变量,但是上面的代码引发了这个错误:

NameError: name 'One' is not defined

如何在 Python 中使用静态方法初始化静态变量?

【问题讨论】:

【参考方案1】:
class One:
    @staticmethod
    def get(val):
        pass

    i = get.__func__(9)

虽然可能不是最 Pythonic 的方式。注意i 变量在get 的声明之后。由于@staticmethod 不能直接调用(如果这样做,您会收到一条消息),因此您必须改为执行底层函数(__func__)。

【讨论】:

以上是关于如何使用静态方法初始化静态变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C++ 中初始化静态字段? [复制]

第十二章 类和动态内存分配

Spring-如何给静态变量注入值

如何初始化对类内变量的静态引用,以便在嵌套类中使用

如何在构造函数 C++ 中使用静态变量?

Java中静态关键字的使用方法介绍四