TGViewer
EasyData EasyData @data_easy · 1.38K subscribers
Post #268 922
Привет, друзья!
Пришло время подводить итоги прошлых задачек для разминки по Python. Ниже разбор правильных ответов⚠️

1.
print(magic_func(25)) # [50]
print(magic_func(30)) # [50, 55]

Причина в том, что аргумент lst=[] - изменяемый объект. Он сохраняется между вызовами функции. Поэтому при втором вызове к списку добавляется второй элемент.

2.
print(extend_list(1)) # [1]
print(extend_list(2)) # [1, 2]
print(extend_list(3, [])) # [3]
print(extend_list(4)) # [1, 2, 4]

Демонстрация того же эффекта, что и в прошлом задании: используем изменяемый аргумент по умолчанию - список lst. Он сохраняет своё состояние между вызовами, если не передать другой. В третьем вызове передан новый список, поэтому результат уже не связан с предыдущими:)

3.
d = {1: 1, 1.0: 1.0, '1': '1', True: True}
print(d) # {1: True, '1': '1'}

Ключи 1, 1.0 и True считаются равными в словаре, потому что 1 == 1.0 == True (можете проверить это отдельно). Поэтому остаётся последний по порядку ключ из этой группы (True), и он перезаписывает предыдущие.

4.
print(tricky_or([], 'fallback')) # 'fallback'
print(tricky_or({}, 0)) # 0
print(tricky_or('', None)) # None

Оператор or возвращает первое "истинное" значение или последнее, если все ложные. [], {}, '' считаются ложными, 'fallback' - истинное, 0 и None - тоже ложные, но 0 возвращается, потому что он второй аргумент. По аналогии можете подумать, как ведет себя в подобных ситуациях and.

5.
print(x == y) # True
print(x is y) # False

== сравнивает значения, по этому принципу списки равны. is сравнивает идентичность объектов - а у нас два разных списка в памяти, находящихся по разным адресам.

6.
a = 256
b = 256
print(a is b) # True

a = 257
b = 257
print(a is b) # False

Числа от -5 до 256 кэшируются в Python, и переменные с такими значениями могут ссылаться на один и тот же объект. Значения вне этого диапазона не кэшируются, поэтому a is b даёт False.

Кто верно догадался во всех задачах - ставьте 😇

Успехов в диалогах с питоном!🐍

#python@data_easy
  • ❤ 9
  • 👍 4
  • 😇 1
More from @data_easy
  1. Sep 25, 2026Привет, друзья! Давайте разберём, как оценивать RAG-пайплайн. Тема довольно острая: наприм…
  2. Sep 20, 2026Привет, друзья! Adam и AdamW правят балом почти десять лет... Претенденты на замену были,…
  3. Aug 30, 2026Привет, друзья! Автор возвращается с каникул с полным мешком пирожков полезных материалов…
  4. Jul 12, 2026Привет, друзья! Представьте: у вас есть паркет на 10 гигов, и надо всего лишь посчитать по…
  5. Jun 28, 2026Привет, друзья! Устали от стандартных учебников по ML? Материалов с каждым месяцем и правд…
  6. Jun 21, 2026Привет, друзья! Сегодняшний рассказ про marimo - реактивный блокнот для Python, который мн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →