Встречается на собеседованиях • сегодня
Что будет если в функции дефолтный параметром объявить пустой список
В Python дефолтные параметры вычисляются один раз при определении функции. Если использовать изменяемый объект (например, список) как дефолтный параметр, он будет общим для всех вызовов функции. Это может привести к неожиданному поведению.
Пример проблемы:
python
def add_item(item, items=[]):
items.append(item)
return items
print(add_item(1)) # [1]
print(add_item(2)) # [1, 2] - список сохраняется между вызовами!Правильное решение - использовать None как дефолтное значение:
python
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return itemsТак каждый вызов получит новый список. Это стандартный паттерн для избежания проблем с изменяемыми дефолтными параметрами.

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