Для объяснения ответа на данный тестовый вопрос важно понять, как работают переменные в Python, и что именно делает ключевое слово global
.
В Python есть концепция области видимости переменных — они могут быть доступны только в определенном контексте или области. Обычно переменные, объявленные внутри функции, являются локальными для этой функции. Это означает, что они могут быть использованы только внутри функции, и их значения неизвестны вне этой функции.
Например, рассмотрим следующий код:
def test_func():
x = 10
print(x)
test_func() # это выведет "10"
print(x) # это вызовет ошибку "NameError: name 'x' is not defined", так как x не определен вне функции
В таких ситуациях на помощь приходит ключевое слово global
. Если в коде функции перед использованием переменной стоит global
, то эта переменная считается глобальной.
Что это означает? Это означает, что изменения переменной внутри функции фактически меняют значение этой же переменной во всем коде программы, не только внутри функции.
Рассмотрим пример:
x = 0
def test_func():
global x
x = 10
test_func()
print(x) # это выведет "10", так как использование global изменило значение x на глобальном уровне
В этом состоит основная задача ключевого слова global
в Python – оно объявляет, что переменная внутри функции является глобальной.
Однако следует использовать global
с осторожностью. Необдуманное изменение глобальных переменных может привести к неожиданным результатам, особенно в больших программах. Используйте global
только тогда, когда это действительно необходимо.