Не используй изменяемые объекты в качестве значений по умолчанию. В Python значения аргументов по умолчанию вычисляются один раз, в момент определения функции, а не при каждом ее вызове.
Если у тебя аргумент по умолчанию выглядит так:
items=[], этот список будет общим для всех вызовов, и ты получишь накапливающееся состояние, которого не планировал.Лучший вариант: ставить неизменяемый объект в значение по умолчанию. Тогда каждый вызов будет получать новый список, как в примере
👉 @PythonPortal
