SobesLab логотип SobesLab

Ответ

Значение параметра по умолчанию вычисляется однажды при определении функции и затем используется при каждом вызове (если аргумент не передан явно). Если это изменяемый объект (например, список), то все вызовы функции будут разделять один и тот же экземпляр. Изменения, сделанные в нём в одном вызове, сохранятся для следующих вызовов, что зачастую приводит к логическим ошибкам. Рекомендуется использовать None в качестве default и внутри функции присваивать новое изменяемое значение.