番兵オブジェクト

PyTypeObject PySentinel_Type

この PyTypeObject のインスタンスは、Python の sentinel 型を表します。 sentinel と同じオブジェクトです。

Added in version 3.15.

int PySentinel_Check(PyObject *o)

o が sentinel オブジェクトか、そのサブタイプのオブジェクトであれば真を返します。 現在の sentinel 型はサブクラスを認めないため、この判定は型の完全一致を調べるものになります。 将来の Python ではサブタイプを認める可能性があります。 この関数は常に成功します。

Added in version 3.15.

int PySentinel_CheckExact(PyObject *o)

o が sentinel オブジェクトであり、サブタイプのオブジェクトでなければ真を返します。 現在の sentinel 型はサブクラスを認めません。 将来の Python ではサブタイプを認める可能性があります。 この関数は常に成功します。

Added in version 3.15.

PyObject *PySentinel_New(const char *name, const char *module_name, const char *repr)
戻り値: 新しい参照。

__name__ を name に、__module__ を module_name に設定した、新しい sentinel オブジェクトを返します。 name は NULL であってはなりません。 module_name が NULL なら、__module__ は None になります。 repr が NULL なら、repr() は __name__ を返します。 失敗すると例外を設定して NULL を返します。

pickle 化を機能させるには、module_name がインポート可能なモジュールの名前であり、そのモジュールから name に一致するパスで番兵にアクセスできなければなりません。 pickle は name を module_name 内のグローバル変数名として扱います (object.__reduce__() を参照)。

Added in version 3.15.