Документация Python неофициальный перевод

Объекты SentinelSentinel objects

PyTypeObject PySentinel_Type

Этот экземпляр PyTypeObject представляет тип Python sentinel. Он является тем же объектом, что и sentinel.

Добавлено в версии 3.15.

int PySentinel_Check(PyObject *o)

Возвращает true, если o является объектом sentinel или подтипом. Тип sentinel в настоящее время не допускает подклассов, поэтому эта проверка точна. Будущие версии Python могут разрешить создание подтипов. Эта функция всегда завершается успешно.

Добавлено в версии 3.15.

int PySentinel_CheckExact(PyObject *o)

Возвращает true, если o является объектом sentinel, но не подтипом. Тип sentinel в настоящее время не допускает подклассов. Будущие версии Python могут разрешить создание подтипов. Эта функция всегда завершается успешно.

Добавлено в версии 3.15.

PyObject *PySentinel_New(const char *name, const char *module_name, const char *repr)
Возвращаемое значение: новая ссылка.

Возвращает новый объект sentinel, в котором __name__ установлено в name, а __module__ установлено в module_name. name не должно быть NULL. Если module_name равно NULL, __module__ устанавливается в None. Если repr равно NULL, repr() возвращает __name__. При неудаче возвращает NULL с установленным исключением.

Для работы сериализации (pickling) module_name должно быть именем импортируемого модуля, а sentinel должен быть доступен из этого модуля по пути, соответствующему name. Pickle рассматривает name как имя глобальной переменной в module_name (см. object.__reduce__()).

Добавлено в версии 3.15.