Русский
Открыть в Telegram

ПостКак отличить отсутствие аргумента от None в Python

8 октября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Как отличить отсутствие аргумента от None в Python Если None — допустимое значение настройки, оно не подходит для обозначения «аргумент не передали». Маркер MISSING = object() решает эту задачу, но после deepcopy или pickle может превратиться в другой объект: проверка через is перестанет работать. В Python 3.15 появляется встроенный sentinel. Объявление MISSING = sentinel("MISSING") даёт читаемую сигнатуру, позволяет использовать сам маркер в аннотации типа и сохраняет его идентичность при копировании. Для pickle маркер должен быть доступен по имени в модуле: имя внутри sentinel обязано совпадать с именем переменной. Создавайте его один раз. Два вызова sentinel("MISSING") возвращают разные объекты, даже если строка одинакова. #python #типизация
4 · 1.1K ·

Рядом в ленте

ZZen of PythonКак открывать ссылки Django-сайта в приложениях Apple и Android Для этого нужна двусторонняя связь: приложение объявляет домены, ссылки которых обрабатывает, а ZZen of Pythonsecurity.txt в Django: контакт для сообщений об уязвимостях Исследователь нашёл уязвимость на сайте. Куда ему писать? Файл /.well-known/security.txt даёт публич
это сообщение
ZZen of PythonКак выполнять CPU-задачи в отдельных интерпретаторах Python В Python 3.14 InterpreterPoolExecutor запускает потоки с отдельными интерпретаторами. У каждого свойZZen of PythonПочему цикл внутри теста скрывает часть ошибок Тест перебирает десять входов и проверяет результат через assert. Если третий случай падает, оставшиеся семь до п

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем