Встречается на собеседованиях • сегодня

Какое поведение у изменяемых типов данных при передачи в функцию

При передаче изменяемых типов (например, списков, словарей) в функцию, передаётся ссылка на объект. Изменения внутри функции отражаются на оригинальном объекте, так как они работают с тем же участком памяти.

Пример:

python
def modify_list(lst):
    lst.append(4)  # Изменяет оригинальный список

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # [1, 2, 3, 4]

Для избежания неожиданных изменений можно создать копию:

python
def safe_modify(lst):
    new_lst = lst.copy()
    new_lst.append(5)
    return new_lst

original = [1, 2, 3]
modified = safe_modify(original)
print(original)  # [1, 2, 3]
print(modified)  # [1, 2, 3, 5]
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы