TGViewer
FastNews | Никита Пастухов FastNews | Никита Пастухов @fastnewsdev · 2.61K subscribers
Post #33 575
Типизация в Python настолько простая, что я до сих пор открываю для себя все новые и новые типы. Например, сегодня я узнал про Collection. Раньше я всегда юзал Iterable/Sequence/[Set | List | Tuple], а теперь в инструментарии появилось еще и промежуточное звено - Collection

Collection - это тот же Sequence, только без __reversed__ и __getitem__. Т.е. если вам нужен тип, который поддерживает итерацию, проверку на in + len - то вот он:


from collections.abc import Collection

def func(data: Collection[int]) -> bool:
for i in data:
...

len(data)

return 1 in data


Раньше я для этих целей использовал Sequence, но это было не совсем верно, т.к. Sequence более строгий тип и накладывает больше ограничений на входные значения, чем реально требуется функции. Так что у меня теперь новый любимый тип!

А вообще - всем крайне рекомендую сверяться вот с этой табличкой при расстановке аннотаций. Во всяком случае, пока не запомните ее наизусть🌚

#программирование
Python documentation collections.abc — Abstract Base Classes for Containers Source code: Lib/_collections_abc.py This module provides abstract base classes that can be used to test whether a class provides a particular interface; for example, whether it is hashable or whet...
  • 🔥 8
  • 👍 3
More from @fastnewsdev
  1. Oct 4, 2026Как я учу английский с помощью AI Насколько вы знаете, я большую часть работы веду в OpenS…
  2. Oct 2, 2026Чтож, антропики добрались и до меня и забанили аккант😢 В связи с этим посты ближайшие пар…
  3. Sep 30, 2026Последний месяц на мой канал жестко нападают всякие-разные ИТшницы и ИИшницы, которые поче…
  4. Sep 27, 2026Я уже жаловался на то, что конференции как формат изживают себя. И поэтому мне нравится, ч…
  5. Sep 22, 2026Еще недавно я вайнил, что нейронки нельзя использовать в OpenSource, т.к. они не вывозят т…
  6. Sep 20, 2026Последние 2 недели я заметил, что Opus 5 значительно отупел в Claude Code. Обычно такое сл…
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 →