Mapping Protocol¶
See also PyObject_GetItem(), PyObject_SetItem() and
PyObject_DelItem().
-
int PyMapping_Check(PyObject *o)¶
- Μέρος του Σταθερό ABI.
Return
1if the object provides the mapping protocol or supports slicing, and0otherwise. Note that it returns1for 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)¶
- Μέρος του Σταθερό ABI.
Returns the number of keys in object o on success, and
-1on failure. This is equivalent to the Python expressionlen(o).
-
PyObject *PyMapping_GetItemString(PyObject *o, const char *key)¶
- Επιστρεφόμενη τιμή: New reference. Μέρος του Σταθερό ABI.
This is the same as
PyObject_GetItem(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.
-
int PyMapping_GetOptionalItem(PyObject *obj, PyObject *key, PyObject **result)¶
- Μέρος του Σταθερό ABI από την έκδοση 3.13.
Variant of
PyObject_GetItem()which doesn’t raiseKeyErrorif the key is not found.If the key is found, return
1and set *result to a new strong reference to the corresponding value. If the key is not found, return0and set *result toNULL; theKeyErroris silenced. If an error other thanKeyErroris raised, return-1and set *result toNULL.Added in version 3.13.
-
int PyMapping_GetOptionalItemString(PyObject *obj, const char *key, PyObject **result)¶
- Μέρος του Σταθερό ABI από την έκδοση 3.13.
This is the same as
PyMapping_GetOptionalItem(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.Added in version 3.13.
-
int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶
- Μέρος του Σταθερό ABI.
This is the same as
PyObject_SetItem(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.
-
int PyMapping_DelItem(PyObject *o, PyObject *key)¶
This is an alias of
PyObject_DelItem().
-
int PyMapping_DelItemString(PyObject *o, const char *key)¶
This is the same as
PyObject_DelItem(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.
-
int PyMapping_HasKeyWithError(PyObject *o, PyObject *key)¶
- Μέρος του Σταθερό ABI από την έκδοση 3.13.
Return
1if the mapping object has the key key and0otherwise. This is equivalent to the Python expressionkey in o. On failure, return-1.Added in version 3.13.
-
int PyMapping_HasKeyStringWithError(PyObject *o, const char *key)¶
- Μέρος του Σταθερό ABI από την έκδοση 3.13.
This is the same as
PyMapping_HasKeyWithError(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.Added in version 3.13.
-
int PyMapping_HasKey(PyObject *o, PyObject *key)¶
- Μέρος του Σταθερό ABI.
Return
1if the mapping object has the key key and0otherwise. This is equivalent to the Python expressionkey in o. This function always succeeds.Σημείωση
Exceptions which occur when this calls the
__getitem__()method are silently ignored. For proper error handling, usePyMapping_HasKeyWithError(),PyMapping_GetOptionalItem()orPyObject_GetItem()instead.
-
int PyMapping_HasKeyString(PyObject *o, const char *key)¶
- Μέρος του Σταθερό ABI.
This is the same as
PyMapping_HasKey(), but key is specified as a const char* UTF-8 encoded bytes string, rather than a PyObject*.Σημείωση
Exceptions that occur when this calls the
__getitem__()method or while creating the temporarystrobject are silently ignored. For proper error handling, usePyMapping_HasKeyStringWithError(),PyMapping_GetOptionalItemString()orPyMapping_GetItemString()instead.
-
PyObject *PyMapping_Keys(PyObject *o)¶
- Επιστρεφόμενη τιμή: New reference. Μέρος του Σταθερό ABI.
On success, return a list of the keys in object o. On failure, return
NULL.Άλλαξε στην έκδοση 3.7: Previously, the function returned a list or a tuple.
-
PyObject *PyMapping_Values(PyObject *o)¶
- Επιστρεφόμενη τιμή: New reference. Μέρος του Σταθερό ABI.
On success, return a list of the values in object o. On failure, return
NULL.Άλλαξε στην έκδοση 3.7: Previously, the function returned a list or a tuple.
-
PyObject *PyMapping_Items(PyObject *o)¶
- Επιστρεφόμενη τιμή: New reference. Μέρος του Σταθερό ABI.
On success, return a list of the items in object o, where each item is a tuple containing a key-value pair. On failure, return
NULL.Άλλαξε στην έκδοση 3.7: Previously, the function returned a list or a tuple.