TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #5192 371
Почему функция Python помнит старые элементы списка

В функции с параметром items=[] пустой список создаётся один раз, когда Python выполняет определение функции. Если добавлять в него элементы, следующий вызов без этого аргумента получит тот же изменённый список.

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

Затем замените значение по умолчанию на None. Внутри функции проверяйте items is None и в этом случае создавайте новый список. Повторите два вызова: теперь у каждой задачи будет отдельный список.

Такой опыт помогает понять, когда создаются значения по умолчанию и откуда берётся состояние между вызовами.

Разбор с примерами и коротким видео
Pythonmorsels Mutable default arguments In Python, default argument values are defined only one time (when a function is defined).
  • ✍ 1
More from @prog_point
  1. Oct 14, 2026Как убрать файл из будущего коммита и сохранить правки После git add изменения попадают в…
  2. Oct 14, 2026Почему правило ниже в CSS не меняет цвет ссылки? Порядок записи решает только при равной с…
  3. Oct 13, 2026Post #5190
  4. Oct 13, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  5. Oct 13, 2026Учёт расходов на Python: от ввода суммы до отчёта по категориям В пошаговом руководстве вы…
  6. Oct 13, 2026Пропущенная запятая в Python может склеить элементы списка 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 →