Что выведет следующий код?
def func(a, L=[]):
L.append(a)
return L
print(func(1))
print(func(2))
print(func(3))
Варианты ответа:
A)
[2]
[3]
B)
[1, 2]
[1, 2, 3]
C)
[1]
[1]
D)
[2]
[3]
---
✅ Правильный ответ: B
Почему:
Списки по умолчанию (
L=[]) в Python инициализируются один раз при определении функции, а не каждый раз при вызове. Поэтому изменения сохраняются между вызовами func. Это классическая "ловушка" со значениями по умолчанию!@python_job_interview