Встречается на 1% собеседований по Python
Какая есть опасность при использовании изменяемых типов данных
Использование изменяемых типов данных (например, списков, словарей, множеств) может привести к неожиданным побочным эффектам, особенно при передаче их в функции или использовании в качестве аргументов по умолчанию.
Пример с аргументом по умолчанию:
python
def add_item(item, items=[]):
items.append(item)
return items
print(add_item(1)) # [1]
print(add_item(2)) # [1, 2] - список сохраняется между вызовами!
text
**Решение:**
```python
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return itemsТакже изменяемые объекты могут неожиданно меняться при передаче в функцию, так как передаются по ссылке. Например:
python
def modify_list(lst):
lst.append(4)
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # [1, 2, 3, 4] - исходный список изменилсяВывод:
Нужно быть осторожным с изменяемыми типами, особенно в аргументах по умолчанию и при передаче в функции.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы