tgoop.com/python_testit/1183
Create:
Last Update:
Last Update:
🐍 Python-задача: что выведет этот код и почему?
def append_to_list(value, my_list=[]):
my_list.append(value)
return my_list
print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
🔍 Варианты:
• a)
[1]
, [2]
, [3]
• b)
[1]
, [1, 2]
, [1, 2, 3]
• c) Ошибка исполнения
• d)
[1]
, [2]
, [3]
— но в разных объектах💡 Разбор:
my_list=[]
- Первый вызов:
my_list = []
1
[1]
- Второй вызов: та же
my_list
[1]
2
[1, 2]
- Третий: тот же список →
[1, 2, 3]
✅ Правильный ответ: b) `[1]`, `[1, 2]`, `[1, 2, 3]`
🧠 Вывод: никогда не используй изменяемые значения (`list`,
dict
🛠️ Правильный способ:
def append_to_list(value, my_list=None):
if my_list is None:
my_list = []
my_list.append(value)
return my_list
📌 Теперь каждый вызов будет работать с новым списком.
BY Python tests
Share with your friend now:
tgoop.com/python_testit/1183