Почему mutable умолчания в аргументах функций - плохо?

preview_player
Показать описание
Одной из самых раздражающих ловушек в питоне, в которую попадают новички - это mutable значения по-умолчанию у именованных аргументов функции. Давайте разберемся, почему так происходит.

Канал создан при поддержке сообщества Moscow Python.
Рекомендации по теме
Комментарии
Автор

Очередная порция полезной информации. Благодарю

dmitryzagorevskiy
Автор

Твой канал для меня настоящая находка!!!

radceb
Автор

Пожалуй самое доступное обЪяснение проблемы. Спасибо!

abnatop
Автор

Здорово 👍👍 Редко где встретишь объяснения таких тонкостей.

Blind
Автор

Кажется, проще делать проверку my_list is None и создавать пустой список )

andreyanokhin
Автор

Спасибо! Очень понравилось, лайк. Но есть вопрос. Как вы считаете создание списка в рантайме (т.е. выделение места в куче и т.д.) это точно хорошая идея?

alun
Автор

К счастью прочитал про эту проблему еще в самом начале знакомства с питоном)

nateriver
Автор

Вот какой хитрый питон! Спасибо вам, не знал!

nbzflkj
Автор

Что то я не допонял как так удалось обратиться к экземпляру функции изнутри самой функции. Она же вроде ещё не скомпилирована на этом этапе, разве нет? Это особенность юпитера или я что то путаю?

dynjcdd
Автор

но так и не объяснил, почему питон себя так ведёт. понятно, что параметр по умолчанию меняется, но не понятно как это работает.

turtle_wave_
Автор

Что за негодяй под каждым видео Диз ставит?;)

petyap
Автор

[mylist.append(i) for i in range(times)] - какой то дикий способ написать цикл в одну строчку, видел где то или сам придумал? (или сам видел? :)) )

zczkwdp