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