Почему NameError, когда указан global?

def fy():
    global b
    b = 2
print(b) #NameError: name 'b' is not defined

Что не так?


Ответы (1 шт):

Автор решения: mrEvgenX

global создает переменную в глобальной области видимости. В своем коде вы только объявили функцию, но переменная b будет создана только после её вызова.

def func():
    global b
    b = 2

func()
print(b)  # 2
→ Ссылка