Mappningsprotokoll

Se även PyObject_GetItem(), PyObject_SetItem() och PyObject_DelItem().

int PyMapping_Check(PyObject *o)
En del av Stabil ABI.

Returnerar 1 om objektet tillhandahåller mappningsprotokollet eller stöder slicing, och 0 annars. Observera att den returnerar 1 för Python-klasser med en __getitem__()-metod, eftersom det i allmänhet är omöjligt att avgöra vilken typ av nycklar som klassen stöder. Denna funktion lyckas alltid.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)
En del av Stabil ABI.

Returnerar antalet nycklar i objektet o om det lyckas, och -1 om det misslyckas. Detta är likvärdigt med Python-uttrycket len(o).

PyObject *PyMapping_GetItemString(PyObject *o, const char *key)
Returnera värde: Ny referens. En del av Stabil ABI.

Detta är samma sak som PyObject_GetItem(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för en PyObject*.

int PyMapping_GetOptionalItem(PyObject *obj, PyObject *key, PyObject **result)
En del av Stabil ABI sedan version 3.13.

Variant av PyObject_GetItem() som inte ger upphov till KeyError om nyckeln inte hittas.

Om nyckeln hittas returneras 1 och *result sätts till en ny strong reference till motsvarande värde. Om nyckeln inte hittas, returneras 0 och *result sätts till NULL; KeyError tystas. Om ett annat fel än KeyError uppstår, returneras -1 och *result sätts till NULL.

Tillagd i version 3.13.

int PyMapping_GetOptionalItemString(PyObject *obj, const char *key, PyObject **result)
En del av Stabil ABI sedan version 3.13.

Detta är samma sak som PyMapping_GetOptionalItem(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för en PyObject*.

Tillagd i version 3.13.

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)
En del av Stabil ABI.

Detta är samma sak som PyObject_SetItem(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för en PyObject*.

int PyMapping_DelItem(PyObject *o, PyObject *key)

Detta är ett alias för PyObject_DelItem().

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

Detta är samma sak som PyObject_DelItem(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för en PyObject*.

int PyMapping_HasKeyWithError(PyObject *o, PyObject *key)
En del av Stabil ABI sedan version 3.13.

Returnerar 1 om mappningsobjektet har nyckeln key och 0 annars. Detta är likvärdigt med Python-uttrycket key in o. Vid misslyckande returneras -1.

Tillagd i version 3.13.

int PyMapping_HasKeyStringWithError(PyObject *o, const char *key)
En del av Stabil ABI sedan version 3.13.

Detta är samma sak som PyMapping_HasKeyWithError(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för en PyObject*.

Tillagd i version 3.13.

int PyMapping_HasKey(PyObject *o, PyObject *key)
En del av Stabil ABI.

Returnerar 1 om mappningsobjektet har nyckeln key och 0 annars. Detta motsvarar Python-uttrycket key in o. Denna funktion lyckas alltid.

Anteckning

Undantag som uppstår när detta anropar __getitem__()-metoden ignoreras i tysthet. För korrekt felhantering, använd PyMapping_HasKeyWithError(), PyMapping_GetOptionalItem() eller PyObject_GetItem() istället.

int PyMapping_HasKeyString(PyObject *o, const char *key)
En del av Stabil ABI.

Detta är samma sak som PyMapping_HasKey(), men key anges som en const char* UTF-8-kodad bytessträng, i stället för ett PyObject*.

Anteckning

Undantag som inträffar när detta anropar __getitem__()-metoden eller när det tillfälliga str-objektet skapas ignoreras i tysthet. För korrekt felhantering, använd PyMapping_HasKeyStringWithError(), PyMapping_GetOptionalItemString() eller PyMapping_GetItemString() istället.

PyObject *PyMapping_Keys(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Vid framgång returneras en lista över nycklarna i objektet o. Vid misslyckande returneras NULL.

Ändrad i version 3.7: Tidigare returnerade funktionen en lista eller en tupel.

PyObject *PyMapping_Values(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Vid framgång returneras en lista över värdena i objektet o. Vid misslyckande returneras NULL.

Ändrad i version 3.7: Tidigare returnerade funktionen en lista eller en tupel.

PyObject *PyMapping_Items(PyObject *o)
Returnera värde: Ny referens. En del av Stabil ABI.

Vid framgång returneras en lista över objekten i objektet o, där varje objekt är en tupel som innehåller ett nyckel-värdepar. Vid misslyckande returneras NULL.

Ändrad i version 3.7: Tidigare returnerade funktionen en lista eller en tupel.