Встречается на собеседованиях • сегодня
Нужно ли писать global при применении append к глобальной переменной типа list
Нет, при изменении глобальной переменной типа list (или других изменяемых объектов) через методы вроде append(), extend(), remove() и т.д., ключевое слово global не требуется. Оно нужно только при переприсваивании переменной.
Пример:
python
my_list = [1, 2, 3]
def modify_list():
my_list.append(4) # работает без global
my_list[0] = 99 # тоже работает
def reassign_list():
global my_list # требуется global
my_list = [5, 6, 7]
modify_list()
print(my_list) # [99, 2, 3, 4]
reassign_list()
print(my_list) # [5, 6, 7]Причина: при изменении списка на месте (in-place) мы не создаем новую переменную, а работаем с существующим объектом. Global нужен только когда мы хотим изменить саму ссылку на объект.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы