🧩 Сложная задача по Python для опытных разработчиков
Что выведет следующий код?
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 для опытных разработчиков
Что выведет следующий код?
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. Это классическая "ловушка" со значениями по умолчанию!