В Python, что делает ключевое слово 'global'?

Использование ключевого слова 'global' в Python

Для объяснения ответа на данный тестовый вопрос важно понять, как работают переменные в 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 только тогда, когда это действительно необходимо.

Related Questions

Считаете ли это полезным?