python переменная класса доступа внутри класса - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть класс ниже и я пытаюсь получить доступ к переменной класса a внутри main():

class ScopeV:
    a = 0
    def main() :
        print(ScopeV.a)

    if __name__ == '__main__':
        main()

Но это дает ошибку. Есть мысли?

Traceback (most recent call last):   
  File "classV.py", line 1, in <module>
    class ScopeV:   
  File "classV.py", line 7, in ScopeV
    main()   
  File "classV.py", line 4, in main
    print(ScopeV.a) 
NameError: name 'ScopeV' is not defined

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Томерикоо прав. Если запустить main в том же классе, он не готов. Поэтому определите класс ниже.

class ScopeV:
    a = 0
    def main() :
        print(ScopeV.a)

Затем вызовите его из другого файла или командной строки. Это работает.

ScopeV.main()

Каждый раз, когда добавляется «self», создается переменная экземпляра.

0 голосов
/ 06 апреля 2020

попробуй

def main(self):
   print(self.a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...