マップ型プロトコル (mapping protocol)¶
PyObject_GetItem()
, PyObject_SetItem()
, PyObject_DelItem()
も参照してください。
-
int
PyMapping_Check
(PyObject *o)¶ Return
1
if the object provides the mapping protocol or supports slicing, and0
otherwise. Note that it returns1
for Python classes with a__getitem__()
method, since in general it is impossible to determine what type of keys the class supports. This function always succeeds.
-
Py_ssize_t
PyMapping_Size
(PyObject *o)¶ -
Py_ssize_t
PyMapping_Length
(PyObject *o)¶ 成功するとオブジェクト o 中のキーの数を返し、失敗すると
-1
を返します。これは、Python の式len(o)
と同じになります。
-
PyObject*
PyMapping_GetItemString
(PyObject *o, const char *key)¶ - Return value: New reference.
文字列 key に対応する o の要素を返します。失敗すると
NULL
を返します。 Python の式o[key]
と同じです。PyObject_GetItem()
も参照してください。
-
int
PyMapping_SetItemString
(PyObject *o, const char *key, PyObject *v)¶ オブジェクト 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)¶ マップ型オブジェクトがキー key を持つ場合に
1
を返し、そうでないときには0
を返します。これは、Python の式key in o
と等価です。この関数呼び出しは常に成功します。__getitem__()
メソッドの呼び出し中に起こる例外は抑制されることに注意してください。 エラーを報告させるには、代わりにPyObject_GetItem()
を使ってください。
-
int
PyMapping_HasKeyString
(PyObject *o, const char *key)¶ マップ型オブジェクトがキー key を持つ場合に
1
を返し、そうでないときには0
を返します。これは、Python の式key in o
と等価です。この関数呼び出しは常に成功します。__getitem__()
メソッドの呼び出し中や、一時的な文字列オブジェクトの作成中に起こる例外は抑制されることに注意してください。 エラーを報告させるには、代わりにPyMapping_GetItemString()
を使ってください。
-
PyObject*
PyMapping_Keys
(PyObject *o)¶ - Return value: New reference.
成功するとオブジェクト o のキーからなるリストを返します。 失敗すると
NULL
を返します。バージョン 3.7 で変更: 以前は、関数はリストもしくはタプルを返していました。