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

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