TGViewer
DevFM DevFM @devfm · 3.05K subscribers
Post #166 1.01K
Pattern Matching

В python 3.10 появилась долгожданная возможность использовать конструкцию match/case. На первый взгляд это классический switch, но в питоне пошли дальше.

В статье Recipes and Tricks for Effective Structural Pattern Matching in Python автор рассказывает о неочевидных возможностях pattern matching:
— как использовать в блоке case регулярные выражения, хотя это не предусмотрено по умолчанию
— как с помощью атрибута __match_args__ сделать позиционные аргументы в клаccе и использовать их в case
— как хитро проверить ключи и их значения в json-объектах
— и несколько ещё менее очевидных применений

Важное предупреждение: этот функционал открывает много возможностей. Первая реакция: ого, как можно! Но чрезмерно сложный case затрудняет читабельность кода и приводит к неочевидным проблемам.

О неочевидных проблемах автор также не забывает:
— порядок case важен, потому что какой-то case может быть недостижим
— неожиданное поведение при несовпадении ни с одним из case
#python
martinheinz.dev Recipes and Tricks for Effective Structural Pattern Matching in Python <p> If you're a Python developer, then you're probably aware that <code class="inline">match</code>/<code class="inline">case</code> statement got introduc...
  • 🔥 6
  • ⚡ 2
  • ❤ 2
  • 👍 2
  • 🌭 1
More from @devfm
  1. Sep 27, 2026Багфикс по расписанию AI врывается в разные этапы SDLC. Сейчас экспериментирую с автоматиз…
  2. Sep 25, 2026Попробуйте Herdr По долгу службы я использую самые разные инструменты и какое-то время экс…
  3. Sep 19, 2026ММММолния! В последнем обновлении Claude Code добавили поддержку AGENTS.md! Это настоящий…
  4. Sep 17, 2026Код пишется быстро, а што с ревью Я как-то уже бухтел на тему код-ревью. Но мир так быстро…
  5. Sep 15, 2026Не пишите аислопный текст, пожалуйста-препожалуйста. Код супер активно пишется агентами и…
  6. Sep 14, 2026Что там с кодинговыми агентами Я тут немного пропустил, а JetBrains поделились результатам…
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 →