マップ型プロトコル (mapping protocol)¶
PyObject_GetItem(), PyObject_SetItem(), PyObject_DelItem() も参照してください。
- 
int PyMapping_Check(PyObject *o)¶
- Return - 1if the object provides the mapping protocol or supports slicing, and- 0otherwise. Note that it returns- 1for 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 で変更: 以前は、関数はリストもしくはタプルを返していました。