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