доступ python к глобальной переменной во вложенной функции - PullRequest
0 голосов
/ 13 июля 2020

Я новичок в языке python. У меня головная боль в понимании того, как работают глобальные переменные. это конкретный пример c, который для меня не имеет смысла:

def func():
    def nested():
        global x
        x=1
    print(x)

func()

это выдает: global name 'x' is not defined

Почему x недоступен, хотя он был создан global во вложенной функции?

1 Ответ

2 голосов
/ 13 июля 2020

вы должны вызвать nested(), чтобы определить глобальную переменную x. без его вызова определение переменной x отсутствует, поэтому вы получите ошибку!

def func():
    def nested():
        global x
        x=1
    nested()
    print(x)

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