Разбор вчерашнего квиза `def func(x, y=[]): y.append(x) return y
print(func(1)) print(func(2))
Правильный ответ: 2️⃣ [1] и [1, 2] ✅ Почему так? 👉 Аргумент y=[] создаётся один раз при определении функции, а не при каждом вызове. Поэтому список «помнит» прошлые элементы.
💡 Чтобы избежать таких сюрпризов, делают так:
`def func(x, y=None): if y is None: y = [] y.append(x) return y
☕ В следующий раз внимательнее с изменяемыми аргументами по умолчанию 😉
· 26.09.2025
Круто, спасибо. Я уйму времени потерял на аналогичных вещах пока с сессиями на пхп разбирался
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён