TGViewer
Python tests Python tests @python_testit · 6.9K subscribers
Post #1218 1.19K
❌Python: Никогда не делай так!!!

НИКОГДА НЕ ИСПОЛЬЗУЙ МУТАБЕЛЬНЫЕ ДЕФОЛТЫ: не используй изменяемые объекты (например, списки или словари) как значения по умолчанию в аргументах функции.
Каждый вызов функции будет делить один и тот же объект, и ты получишь «призрачные» данные, которые появляются из ниоткуда. Это одна из самых коварных ловушек Python.

Всегда используй None и создавай новый объект внутри функции. Подписывайся, больше фишек каждый день !


Плохо — список живёт между вызовами
def add_item(item, bucket=[]):
bucket.append(item)
return bucket

print(add_item(1)) # [1]
print(add_item(2)) # [1, 2] — неожиданно!

# Правильно
def add_item(item, bucket=None):
if bucket is None:
bucket = []
bucket.append(item)
return bucket

print(add_item(1)) # [1]
print(add_item(2)) # [2]
More from @python_testit
  1. Sep 6, 2026🐍 Python считает эти даты равными. Хотя между ними целый час В ночь перевода часов время…
  2. Aug 14, 2026Post #1269
  3. Aug 14, 2026photo post
  4. Aug 14, 2026🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы. Ste…
  5. Jul 22, 2026Post #1266
  6. Jul 22, 2026photo post
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 →