ibr_98: в текущем примере создается новая переменная a внутри функции func и присваивается значение 1.
Об изменении глобальной переменной, в данном случае речи быть не может.
Анатолий: Уважаемый Анатолий, то что вы написали, абсолютно не правильно! global a
должно указываться в теле функции, иначе функция будет использовать локальную переменную!
При этом, саму глобальную переменную не обязательно определять вне функции, как написал Алексей Петров, но в таком случае, она будет доступна в глобальном пространстве только после вызова функции:
def func():
global a
a = 10
# print(a) -> NameError
func()
print(a) # -> 10
Но это плохая практика конечно, и лучше объявлять переменную вне функции, иначе это чревато ошибками!