哨兵对象

PyTypeObject PySentinel_Type

此 PyTypeObject 实例代表 Python 的 sentinel 类型。该对象与 sentinel 为同一对象。

在 3.15 版本加入.

int PySentinel_Check(PyObject *o)

如果 o 是 sentinel 对象或其子类,则返回 true。sentinel 类型目前不允许子类,因此此检查是严格匹配的;未来的 Python 版本可能会选择允许子类化。此函数始终会成功返回。

在 3.15 版本加入.

int PySentinel_CheckExact(PyObject *o)

如果 o 是 sentinel 对象但并非其子类,则返回 true。目前 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 并抛出异常。

要使 pickle 正常工作,module_name 必须是可导入模块的名称,且哨兵变量必须能够通过与 name 相匹配的路径从该模块中访问到。Pickle 会将 name 视为 module_name 中的全局变量名称(参见 object.__reduce__())。

在 3.15 版本加入.