def test():
global z
z = 50
test()
print(z)
global z
внутри функции test()
делает переменную z
глобальной. Соответственно, присвоение z = 50
изменяет значение глобальной переменной z
, которая затем и выводится на печать.
Разбор кода:
Этот код демонстрирует работу с глобальной переменной в Python.
def test():
: Определяется функция с именем test
.global z
: Внутри функции test
объявляется, что переменная z
является глобальной. Это означает, что функция будет работать с переменной z
, определенной вне этой функции (в глобальной области видимости).z = 50
: Глобальной переменной z
присваивается значение 50.test()
: Функция test
вызывается.print(z)
: После вызова функции test
значение глобальной переменной z
выводится на экран.Результат выполнения:
Код выведет на консоль значение 50
.
Объяснение:
Изначально переменная z
не была определена в глобальной области видимости. Однако, использование global z
внутри функции test
создает или, если она уже существует, связывает переменную z
внутри функции с глобальной переменной z
. Когда функция test
присваивает z = 50
, это изменяет значение глобальной переменной z
. Таким образом, при вызове print(z)
, выводится измененное значение глобальной переменной, то есть 50.
Важно:
Использовать global
следует осознанно, поскольку изменение глобальных переменных может усложнить отладку и понимание кода, особенно в больших проектах. Старайтесь избегать чрезмерного использования глобальных переменных и по возможности передавайте данные между функциями через параметры и возвращаемые значения.