На каком уровне выполняется default

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