2015-12-01 10 views
2
class One: 
    i = One.get(9) 
    @staticmethod 
    def get(val): 
     pass 

Я пытаюсь инициализировать статическую переменную, используя статический метод, но приведенный выше код вызывает эту ошибку:Как инициализировать статическую переменную с помощью статического метода?

NameError: name 'One' is not defined 

Как я могу инициализировать статическую переменную, используя статический метод в Python?

ответ

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

    i = get.__func__(9) 

Возможно, это не самый пуфонический путь. Обратите внимание, что переменная i после объявления get. Так как @staticmethod не может быть вызван напрямую (вы получите сообщение, если вы это сделаете), вам нужно будет выполнить подклассу (__func__).

Смежные вопросы