Встречается на собеседованиях • сегодня

Как изнутри тела функции можно изменить глобальный объект

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

python
x = 10

def modify_global():
    global x
    x = 20  # изменяем глобальную переменную

modify_global()
print(x) # 20

text

Если глобальная переменная является изменяемым объектом (список, словарь и т.д.), можно изменять его содержимое без `global`, но переприсваивание потребует `global`:

```python
items = [1, 2, 3]

def modify_list():
    items.append(4)  # работает без global
    
def reassign_list():
    global items
    items = [5, 6]  # требует global

modify_list()
print(items)  # [1, 2, 3, 4]
reassign_list()
print(items)  # [5, 6]
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы