Каким образом внутри функции можно изменить состояние глобального объекта?

В Python для изменения состояния глобального объекта внутри функции нужно использовать ключевое слово global, если вы хотите переназначить глобальную переменную.

Короткий ответ

Что ответить на собеседовании

В Python для изменения состояния глобального объекта внутри функции нужно использовать ключевое слово global, если вы хотите переназначить глобальную переменную. Если же глобальный объект — изменяемый (например, список или словарь), то можно изменять его содержимое напрямую без global.

Подробный разбор

Ответ с пояснениями

В Python для изменения состояния глобального объекта внутри функции нужно использовать ключевое слово global, если вы хотите переназначить глобальную переменную. Если же глобальный объект — изменяемый (например, список или словарь), то можно изменять его содержимое напрямую без global.

Пример:

counter = 0

def increment():
    global counter
    counter += 1

increment()
print(counter)  # Выведет 1

Для изменяемого объекта:

config = {'mode': 'test'}

def set_prod_mode():
    config['mode'] = 'prod'

set_prod_mode()
print(config)  # {'mode': 'prod'}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее