TGViewer
Python tests Python tests @python_testit · 6.9K subscribers
Post #1252 1.21K
🐍 Python Pop Quiz: что окажется внутри `silly_dict`?

Вопрос звучит просто, но тут ловушка в том, как Python работает с ключами словаря.

Варианты:

A) {"py": "amazing"}
B) {"py": 10}
C) {"py": "amazing", <__main__.MyClass object at ...>: 10}
D) None of the above

Суть в том, что ключи в dict сравниваются не по тому, как они выглядят в коде, а через __hash__ и __eq__.

Если объект пользовательского класса имеет такой же хеш, как строка "py", и при сравнении считается равным этой строке, то Python решит: это один и тот же ключ.

В таком случае новое значение просто перезапишет старое.

Ответ: B) `{"py": 10}`

Маленький пример, но отлично показывает важную вещь: в Python ключ словаря - это не “текстовое имя”, а объект с правилами хеширования и сравнения.
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 →