Встречается на собеседованиях • сегодня
Почему пустой список не стоит использовать в качестве аргумента функции по умолчанию
Использование пустого списка в качестве аргумента по умолчанию может привести к неожиданному поведению, так как список — это изменяемый (mutable) объект. Он создаётся только один раз при определении функции и используется для всех вызовов. Если функция модифицирует этот список, изменения сохранятся между вызовами.
python
def append_to(item, lst=[]):
lst.append(item)
return lst
print(append_to(1)) # [1]
print(append_to(2)) # [1, 2] - неожиданно!Вместо этого используйте None и создавайте список внутри функции:
python
def append_to(item, lst=None):
if lst is None:
lst = []
lst.append(item)
return lstЭто гарантирует, что каждый вызов получит новый список.

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