x = 3
def func():
global x
x = 7
return x
func()
print(x)
func()
использует ключевое слово global x
, которое позволяет изменить глобальную переменную x
, а не создать локальную переменную с тем же именем. Таким образом, присваивание x = 7
внутри функции изменяет значение глобальной переменной x
, и при выводе на печать будет напечатано новое значение x
.
Вопрос: Что выведет следующий код?
x = 3
def func():
global x
x = 7
return x
func()
print(x)
Ответ: 7
Объяснение:
x
инициализируется значением 3
в глобальной области видимости.func()
. Ключевое слово global x
внутри функции указывает, что мы имеем дело с глобальной переменной x
, а не с локальной переменной с тем же именем.func()
вызывается. Внутри этой функции глобальная переменная x
изменяется на 7
. Функция возвращает значение 7
, но возвращаемое значение никуда не сохраняется.print(x)
выводит значение глобальной переменной x
, которая теперь равна 7
, поскольку функция func()
изменила ее.Таким образом, программа выведет 7
.