Встречается на 1% собеседований по Python
Как изнутри тела функции можно изменить глобальный объект
В 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]
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы