TG Telegram Group & Channel
Библиотека питониста | Python, Django, Flask | United States America (US)
Create: Update:

🧩 Задача: неожиданный результат с изменением словаря

Что выведет следующий код?

def update_dict(d, key, value):
d[key] = value
return d

my_dict = {'a': 1, 'b': 2}
print(update_dict(my_dict, 'c', 3))
print(update_dict(my_dict, 'd', 4))
print(my_dict)


Вопросы:
1. Какой будет вывод каждой из трёх строк?
2. Почему my_dict меняется после вызова функции?
3. Как изменить функцию, чтобы оригинальный словарь не менялся, а возвращалась новая копия с обновлённым значением?

Подвох:
Словари — изменяемые объекты, передаются по ссылке, поэтому любые изменения внутри функции влияют на оригинал.

Решение:
def update_dict(d, key, value):
new_dict = d.copy()
new_dict[key] = value
return new_dict


Что проверяет задача:
Понимание изменяемых объектов и передачи по ссылке в Python
Умение создавать копии объектов для избежания побочных эффектов
Навыки работы с функциями и аргументами

Библиотека питониста #междусобойчик

🧩 Задача: неожиданный результат с изменением словаря

Что выведет следующий код?
def update_dict(d, key, value):
d[key] = value
return d

my_dict = {'a': 1, 'b': 2}
print(update_dict(my_dict, 'c', 3))
print(update_dict(my_dict, 'd', 4))
print(my_dict)


Вопросы:
1. Какой будет вывод каждой из трёх строк?
2. Почему my_dict меняется после вызова функции?
3. Как изменить функцию, чтобы оригинальный словарь не менялся, а возвращалась новая копия с обновлённым значением?

Подвох:
Словари — изменяемые объекты, передаются по ссылке, поэтому любые изменения внутри функции влияют на оригинал.

Решение:
def update_dict(d, key, value):
new_dict = d.copy()
new_dict[key] = value
return new_dict


Что проверяет задача:
Понимание изменяемых объектов и передачи по ссылке в Python
Умение создавать копии объектов для избежания побочных эффектов
Навыки работы с функциями и аргументами

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

Библиотека питониста | Python, Django, Flask






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)