Nummerprotokoll¶
-
int PyNumber_Check(PyObject *o)¶
- En del av Stabil ABI.
Returnerar
1
om objektet o tillhandahåller numeriska protokoll, och false annars. Denna funktion lyckas alltid.Ändrad i version 3.8: Returnerar
1
om o är ett index heltal.
-
PyObject *PyNumber_Add(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av att lägga till o1 och o2, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketo1 + o2
.
-
PyObject *PyNumber_Subtract(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av att subtrahera o2 från o1, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketo1 - o2
.
-
PyObject *PyNumber_Multiply(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av multipliceringen av o1 och o2, eller
NULL
om den misslyckas. Detta är motsvarigheten till Python-uttrycketo1 * o2
.
-
PyObject *PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.
Returnerar resultatet av matrismultiplikation på o1 och o2, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketo1 @ o2
.Tillagd i version 3.5.
-
PyObject *PyNumber_FloorDivide(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar golvet av o1 dividerat med o2, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketo1 // o2
.
-
PyObject *PyNumber_TrueDivide(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar en rimlig approximation av det matematiska värdet av o1 dividerat med o2, eller
NULL
om det misslyckas. Returvärdet är ”ungefärligt” eftersom binära flyttal är ungefärliga; det är inte möjligt att representera alla verkliga tal i bas två. Denna funktion kan returnera ett flyttalsvärde när den får två heltal. Detta är motsvarigheten till Python-uttrycketo1 / o2
.
-
PyObject *PyNumber_Remainder(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar återstoden av att dividera o1 med o2, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketo1 % o2
.
-
PyObject *PyNumber_Divmod(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Se den inbyggda funktionen
divmod()
. ReturnerarNULL
om den misslyckas. Detta är motsvarigheten till Python-uttrycketdivmod(o1, o2)
.
-
PyObject *PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Se den inbyggda funktionen
pow()
. ReturnerarNULL
om den misslyckas. Detta är motsvarigheten till Python-uttrycketpow(o1, o2, o3)
, där o3 är valfritt. Om o3 ska ignoreras, skickaPy_None
i stället (att skickaNULL
för o3 skulle orsaka en olaglig minnesåtkomst).
-
PyObject *PyNumber_Negative(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar negationen av o vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycket-o
.
-
PyObject *PyNumber_Positive(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar o vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycket+o
.
-
PyObject *PyNumber_Absolute(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar det absoluta värdet av o, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketabs(o)
.
-
PyObject *PyNumber_Invert(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar den bitvisa negationen av o vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycket~o
.
-
PyObject *PyNumber_Lshift(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av vänsterförskjutning av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketo1 << o2
.
-
PyObject *PyNumber_Rshift(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av högerförskjutning av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketo1 >> o2
.
-
PyObject *PyNumber_And(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar ”bitwise and” av o1 och o2 vid framgång och
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketo1 & o2
.
-
PyObject *PyNumber_Xor(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar ”bitwise exclusive or” av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketo1 ^ o2
.
-
PyObject *PyNumber_Or(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar det ”bitvisa eller” av o1 och o2 vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketo1 | o2
.
-
PyObject *PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av att lägga till o1 och o2, eller
NULL
om det misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 += o2
.
-
PyObject *PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av att subtrahera o2 från o1, eller
NULL
om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 -= o2
.
-
PyObject *PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av multipliceringen av o1 och o2, eller
NULL
om den misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 *= o2
.
-
PyObject *PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.
Returnerar resultatet av matrismultiplikation på o1 och o2, eller
NULL
om det misslyckas. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 @= o2
.Tillagd i version 3.5.
-
PyObject *PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar det matematiska golvet av att dividera o1 med o2, eller
NULL
om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 //= o2
.
-
PyObject *PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar en rimlig approximation av det matematiska värdet av o1 dividerat med o2, eller
NULL
om det misslyckas. Returvärdet är ”ungefärligt” eftersom binära flyttal är ungefärliga; det är inte möjligt att representera alla verkliga tal i bas två. Denna funktion kan returnera ett flyttalsvärde när den får två heltal. Operationen görs in-place när o1 har stöd för det. Detta är motsvarigheten till Python-satseno1 /= o2
.
-
PyObject *PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar återstoden av att dela o1 med o2, eller
NULL
om det misslyckas. Operationen utförs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 %= o2
.
-
PyObject *PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Se den inbyggda funktionen
pow()
. ReturnerarNULL
om den misslyckas. Operationen görs in-place när o1 stöder den. Detta motsvarar Python-satseno1 **= o2
när o3 ärPy_None
, eller en in-place-variant avpow(o1, o2, o3)
annars. Om o3 ska ignoreras, skickaPy_None
i dess ställe (att skickaNULL
för o3 skulle orsaka en olaglig minnesåtkomst).
-
PyObject *PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av vänsterförskjutning av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Operationen görs in-place när o1 stöder det. Detta är motsvarigheten till Python-satseno1 <<= o2
.
-
PyObject *PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar resultatet av högerförskjutning av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 >>= o2
.
-
PyObject *PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar det ”bitvisa och” av o1 och o2 vid framgång och
NULL
vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 &= o2
.
-
PyObject *PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar ”bitwise exclusive or” av o1 med o2 vid framgång, eller
NULL
vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 ^= o2
.
-
PyObject *PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar det ”bitvisa eller” av o1 och o2 vid framgång, eller
NULL
vid misslyckande. Operationen görs in-place när o1 stöder den. Detta är motsvarigheten till Python-satseno1 |= o2
.
-
PyObject *PyNumber_Long(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar o konverterat till ett heltalsobjekt om det lyckas, eller
NULL
om det misslyckas. Detta är motsvarigheten till Python-uttrycketint(o)
.
-
PyObject *PyNumber_Float(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar o konverterat till ett float-objekt vid framgång, eller
NULL
vid misslyckande. Detta är motsvarigheten till Python-uttrycketfloat(o)
.
-
PyObject *PyNumber_Index(PyObject *o)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar o konverterad till en Python int vid framgång eller
NULL
med ettTypeError
-undantag vid misslyckande.Ändrad i version 3.10: Resultatet har alltid den exakta typen
int
. Tidigare kunde resultatet ha varit en instans av en underklass avint
.
-
PyObject *PyNumber_ToBase(PyObject *n, int base)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar heltalet n omvandlat till basen base som en sträng. Argumentet base måste vara ett av 2, 8, 10 eller 16. För bas 2, 8 eller 16 har den returnerade strängen ett prefix med basmarkören
'0b'
,'0o'
respektive'0x'
. Om n inte är ett Python int konverteras det först medPyNumber_Index()
.
-
Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc)¶
- En del av Stabil ABI.
Returnerar o konverterat till ett
Py_ssize_t
-värde om o kan tolkas som ett heltal. Om anropet misslyckas uppstår ett undantag och-1
returneras.Om o kan konverteras till ett Python int men försöket att konvertera till ett
Py_ssize_t
-värde skulle ge upphov till ettOverflowError
, så är exc-argumentet den typ av undantag som kommer att ges upphov till (vanligtvisIndexError
ellerOverflowError
). Om exc ärNULL
, rensas undantaget och värdet klipps tillPY_SSIZE_T_MIN
för ett negativt heltal ellerPY_SSIZE_T_MAX
för ett positivt heltal.
-
int PyIndex_Check(PyObject *o)¶
- En del av Stabil ABI sedan version 3.8.
Returnerar
1
om o är ett index heltal (harnb_index
slot itp_as_number
strukturen ifylld), och0
annars. Denna funktion lyckas alltid.