TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.4K subscribers
Post #7647 2.98K
🐍 В Python 3.15 появятся sentinel values (PEP 661)

После ~5 лет обсуждений в Python добавляют простую, но очень полезную вещь — sentinel-значения.

Иногда важно отличать:
— аргумент вообще не передали
— передали None
— передали конкретное значение

Раньше это делали через костыли (типа `object()`), теперь — нативно.

👉 Пример:

MISSING = sentinel("MISSING")

class Logger:
def __init__(self, level: MISSING | None | str = MISSING):
if level is MISSING:
self.level = get_global_default_level()
elif level is None:
self.level = None # отключить логирование
else:
self.level = level


Что это даёт:
— можно чётко понять: аргумент не передан или передан None
— чище API
— меньше неочевидных багов

По сути, теперь у функции есть 3 состояния:
1. не передали → взять дефолт
2. передали None → особая логика
3. передали значение → использовать его

⚡️ Это мелкое изменение, но оно сильно упрощает дизайн функций и библиотек.

Использовали ли вы подобные паттерны раньше или обходились None?

📍 Навигация: Вакансии • Задачи • Собесы

Библиотека питониста

#буст
  • 👍 15
  • ❤ 3
  • 🔥 1
More from @pyproglib
  1. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  2. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
  5. Sep 14, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
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 →