Необязательные аргументы функции Python?
Вот и видно, что по-быстрому. Глава 17 «Области видимости и вложенные функции» и раздел «Типичные ошибки при работе с функциями» в конце. Значение параметра по умолчанию создаётся один раз, при определении функции, а не при каждом её вызове.
Вот оно где хранится:print(func.__defaults__)
А про mutable Pavel Denisov разъяснил.