
def add_item(item, items=[]):
items.append(item)
return items
print(add_item(1))
print(add_item(2))
В чём подвох:
Mutable default argument.
Список items=[] создаётся один раз, а не при каждом вызове функции.
Поэтому второй вызов использует тот же самый список.
И ответом будет [1] и [1, 2]
