Mapping-Protokoll

Siehe auch PyObject_GetItem(), PyObject_SetItem() und PyObject_DelItem().

int PyMapping_Check(PyObject *o)
Teil der Stable ABI.

Gibt 1 zurück, wenn das Objekt das Mapping-Protokoll bereitstellt oder Slicing unterstützt, andernfalls 0. Beachten Sie, dass für Python-Klassen mit einer __getitem__()-Methode 1 zurückgegeben wird, da es im Allgemeinen unmöglich ist zu bestimmen, welche Arten von Schlüsseln die Klasse unterstützt. Diese Funktion schlägt niemals fehl.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)
Teil der Stable ABI.

Gibt die Anzahl der Schlüssel im Objekt o im Erfolgsfall zurück, andernfalls -1. Dies entspricht dem Python-Ausdruck len(o).

PyObject *PyMapping_GetItemString(PyObject *o, const char *key)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Dies ist dasselbe wie PyObject_GetItem(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

int PyMapping_GetOptionalItem(PyObject *obj, PyObject *key, PyObject **result)
Teil des Stable ABI seit Version 3.13.

Variante von PyObject_GetItem(), die keine KeyError auslöst, wenn der Schlüssel nicht gefunden wird.

Wenn der Schlüssel gefunden wird, wird 1 zurückgegeben und *result auf eine neue starke Referenz auf den entsprechenden Wert gesetzt. Wenn der Schlüssel nicht gefunden wird, wird 0 zurückgegeben und *result auf NULL gesetzt; die KeyError wird unterdrückt. Wenn ein anderer Fehler als eine KeyError ausgelöst wird, wird -1 zurückgegeben und *result auf NULL gesetzt.

Hinzugefügt in Version 3.13.

int PyMapping_GetOptionalItemString(PyObject *obj, const char *key, PyObject **result)
Teil des Stable ABI seit Version 3.13.

Dies ist dasselbe wie PyMapping_GetOptionalItem(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

Hinzugefügt in Version 3.13.

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)
Teil der Stable ABI.

Dies ist dasselbe wie PyObject_SetItem(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

int PyMapping_DelItem(PyObject *o, PyObject *key)

Dies ist ein Alias für PyObject_DelItem().

int PyMapping_DelItemString(PyObject *o, const char *key)

Dies ist dasselbe wie PyObject_DelItem(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

int PyMapping_HasKeyWithError(PyObject *o, PyObject *key)
Teil des Stable ABI seit Version 3.13.

Gibt 1 zurück, wenn das Mapping-Objekt den Schlüssel key hat, andernfalls 0. Dies entspricht dem Python-Ausdruck key in o. Im Fehlerfall wird -1 zurückgegeben.

Hinzugefügt in Version 3.13.

int PyMapping_HasKeyStringWithError(PyObject *o, const char *key)
Teil des Stable ABI seit Version 3.13.

Dies ist dasselbe wie PyMapping_HasKeyWithError(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

Hinzugefügt in Version 3.13.

int PyMapping_HasKey(PyObject *o, PyObject *key)
Teil der Stable ABI.

Gibt 1 zurück, wenn das Mapping-Objekt den Schlüssel key hat, andernfalls 0. Dies entspricht dem Python-Ausdruck key in o. Diese Funktion schlägt niemals fehl.

Hinweis

Ausnahmen, die auftreten, wenn diese Funktion die __getitem__()-Methode aufruft, werden stillschweigend ignoriert. Für eine ordnungsgemäße Fehlerbehandlung verwenden Sie stattdessen PyMapping_HasKeyWithError(), PyMapping_GetOptionalItem() oder PyObject_GetItem().

int PyMapping_HasKeyString(PyObject *o, const char *key)
Teil der Stable ABI.

Dies ist dasselbe wie PyMapping_HasKey(), aber key wird als ein UTF-8-kodierter Bytes-String vom Typ const char* angegeben, anstatt als ein PyObject*.

Hinweis

Ausnahmen, die auftreten, wenn diese Funktion die __getitem__()-Methode aufruft oder beim Erstellen des temporären str-Objekts, werden stillschweigend ignoriert. Für eine ordnungsgemäße Fehlerbehandlung verwenden Sie stattdessen PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() oder PyMapping_GetItemString().

PyObject *PyMapping_Keys(PyObject *o)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Im Erfolgsfall wird eine Liste der Schlüssel im Objekt o zurückgegeben. Im Fehlerfall wird NULL zurückgegeben.

Geändert in Version 3.7: Früher gab die Funktion eine Liste oder ein Tupel zurück.

PyObject *PyMapping_Values(PyObject *o)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Im Erfolgsfall wird eine Liste der Werte im Objekt o zurückgegeben. Im Fehlerfall wird NULL zurückgegeben.

Geändert in Version 3.7: Früher gab die Funktion eine Liste oder ein Tupel zurück.

PyObject *PyMapping_Items(PyObject *o)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Im Erfolgsfall wird eine Liste der Elemente im Objekt o zurückgegeben, wobei jedes Element ein Tupel ist, das ein Schlüssel-Wert-Paar enthält. Im Fehlerfall wird NULL zurückgegeben.

Geändert in Version 3.7: Früher gab die Funktion eine Liste oder ein Tupel zurück.