マップ型プロトコル (mapping protocol)¶
PyObject_GetItem()
, PyObject_SetItem()
, PyObject_DelItem()
も参照してください。
-
int
PyMapping_Check
(PyObject *o)¶ - Part of the Stable ABI.
オブジェクトがマップ型プロトコルを提供しているか、スライスをサポートしている場合は
1
を、そうでない場合は0
を返します。__getitem__()
メソッドを持つ Python クラスについては1
を返すのに注意してください。そうなる理由は、一般的にはクラスがどの種類のキーをサポートしているかを判別するのが不可能だからです。 この関数は常に成功します。
-
Py_ssize_t
PyMapping_Size
(PyObject *o)¶ -
Py_ssize_t
PyMapping_Length
(PyObject *o)¶ - Part of the Stable ABI.
成功するとオブジェクト o 中のキーの数を返し、失敗すると
-1
を返します。これは、Python の式len(o)
と同じになります。
-
PyObject *
PyMapping_GetItemString
(PyObject *o, const char *key)¶ - Return value: New reference. Part of the Stable ABI.
文字列 key に対応する o の要素を返します。失敗すると
NULL
を返します。 Python の式o[key]
と同じです。PyObject_GetItem()
も参照してください。
-
int
PyMapping_SetItemString
(PyObject *o, const char *key, PyObject *v)¶ - Part of the Stable ABI.
オブジェクト o 上で文字列 key を値 v に対応付けます。失敗すると
-1
を返します。 Python の文o[key] = v
と同じです。PyObject_SetItem()
も参照してください。 この関数は v への参照を盗み取り ません。
-
int
PyMapping_DelItem
(PyObject *o, PyObject *key)¶ オブジェクト o から、オブジェクト key に関する対応付けを削除します。 失敗すると
-1
を返します。 Python の文del o[key]
と同じです。 この関数はPyObject_DelItem()
の別名です。
-
int
PyMapping_DelItemString
(PyObject *o, const char *key)¶ オブジェクト o から、文字列 key に関する対応付けを削除します。 失敗すると
-1
を返します。 Python の文del o[key]
と同じです。
-
int
PyMapping_HasKey
(PyObject *o, PyObject *key)¶ - Part of the Stable ABI.
マップ型オブジェクトがキー key を持つ場合に
1
を返し、そうでないときには0
を返します。これは、Python の式key in o
と等価です。この関数呼び出しは常に成功します。__getitem__()
メソッドの呼び出し中に起こる例外は抑制されることに注意してください。 エラーを報告させるには、代わりにPyObject_GetItem()
を使ってください。
-
int
PyMapping_HasKeyString
(PyObject *o, const char *key)¶ - Part of the Stable ABI.
マップ型オブジェクトがキー key を持つ場合に
1
を返し、そうでないときには0
を返します。これは、Python の式key in o
と等価です。この関数呼び出しは常に成功します。__getitem__()
メソッドの呼び出し中や、一時的な文字列オブジェクトの作成中に起こる例外は抑制されることに注意してください。 エラーを報告させるには、代わりにPyMapping_GetItemString()
を使ってください。
-
PyObject *
PyMapping_Keys
(PyObject *o)¶ - Return value: New reference. Part of the Stable ABI.
成功するとオブジェクト o のキーからなるリストを返します。 失敗すると
NULL
を返します。バージョン 3.7 で変更: 以前は、関数はリストもしくはタプルを返していました。
-
PyObject *
PyMapping_Values
(PyObject *o)¶ - Return value: New reference. Part of the Stable ABI.
成功するとオブジェクト o の値からなるリストを返します。 失敗すると
NULL
を返します。バージョン 3.7 で変更: 以前は、関数はリストもしくはタプルを返していました。
-
PyObject *
PyMapping_Items
(PyObject *o)¶ - Return value: New reference. Part of the Stable ABI.
成功するとオブジェクト o の要素からなるリストを返し、各要素はキーと値のペアが入ったタプルになっています。 失敗すると
NULL
を返します。バージョン 3.7 で変更: 以前は、関数はリストもしくはタプルを返していました。