дефолтные значения не создаются при вызове функции
Аргументы Python по умолчанию оцениваются один раз при определении функции, а не при каждом вызове функции (как, скажем, в Ruby). Это означает, что если вы используете изменяемый аргумент по умолчанию и измените его, вы также будете изменять этот объект для всех будущих вызовов функции. Отрывок из книги "Автостопом по Python".
Объект функции и его аргументы по умолчанию создаётся при объявлении один раз Далее он просто используется Если аргумент по умолчанию мутабельный, то его изменение повлияет и на все следующие вызовы функции
Ну как на все... Только на вызовы, использующие значение по-умолчанию.
Да, справедливо
Обсуждают сегодня