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

时间:2015-12-01 12:45:54

标签: python static

class One:
    i = One.get(9)
    @staticmethod
    def get(val):
        pass

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

   
NameError: name 'One' is not defined

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

1 个答案:

答案 0 :(得分:2)

class One:
    @staticmethod
    def get(val):
        pass

    i = get.__func__(9)

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