Protocolo de números¶
-
int PyNumber_Check(PyObject *o)¶
- Part of the Stable ABI.
Retorna
1si el objeto o proporciona protocolos numéricos, y falso en caso contrario. Esta función siempre finaliza con éxito.Distinto en la versión 3.8: Retorna
1si o es un índice entero.
-
PyObject *PyNumber_Add(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de agregar o1 y o2, o
NULLen caso de falla. Este es el equivalente de la expresión de Pythono1 + o2.
-
PyObject *PyNumber_Subtract(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de restar o2 de o1, o
NULLen caso de falla. Este es el equivalente de la expresión de Pythono1 - o2.
-
PyObject *PyNumber_Multiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de multiplicar o1 y o2, o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 * o2.
-
PyObject *PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI since version 3.7.
Retorna el resultado de la multiplicación de matrices en o1 y o2, o
NULLen caso de falla. Este es el equivalente de la expresión de Pythono1 @ o2.Added in version 3.5.
-
PyObject *PyNumber_FloorDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el cociente de la división entera a la baja entre o1 y o2, o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 // o2.
-
PyObject *PyNumber_TrueDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna una aproximación razonable para el valor matemático de o1 dividido por o2 o
NULLen caso de falla. El valor de retorno es «aproximado» porque los números binarios de punto flotante son aproximados; No es posible representar todos los números reales en base dos. Esta función puede retornar un valor de punto flotante cuando se pasan dos enteros. Es equivalente a la expresión de Pythono1 / o2.
-
PyObject *PyNumber_Remainder(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resto de la división entera a la baja entre o1 y o2, o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 % o2.
-
PyObject *PyNumber_Divmod(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Vea la función incorporada
divmod(). RetornaNULLen caso de falla. Este es el equivalente de la expresión de Pythondivmod (o1, o2).
-
PyObject *PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Return value: New reference. Part of the Stable ABI.
Consulte la función incorporada
pow(). RetornaNULLen caso de falla. Este es el equivalente de la expresión de Pythonpow(o1, o2, o3), donde o3 es opcional. Si se ignora o3, pasePy_Noneen su lugar (pasarNULLpor o3 provocaría un acceso ilegal a la memoria).
-
PyObject *PyNumber_Negative(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna la negación de o en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Python-o.
-
PyObject *PyNumber_Positive(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna o en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Python+o.
-
PyObject *PyNumber_Absolute(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el valor absoluto de o o
NULLen caso de error. Este es el equivalente de la expresión de Pythonabs(o).
-
PyObject *PyNumber_Invert(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna la negación bit a bit de o en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Python~o.
-
PyObject *PyNumber_Lshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado del desplazamiento a la izquierda o1 por o2 en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 << o2.
-
PyObject *PyNumber_Rshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado del desplazamiento a la derecha o1 por o2 en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 >> o2.
-
PyObject *PyNumber_And(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit y» (bitwise and) de o1 y o2 en caso de éxito y
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 & o2.
-
PyObject *PyNumber_Xor(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit o exclusivo» (bitwise exclusive or) de o1 por o2 en caso de éxito, o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 ^ o2.
-
PyObject *PyNumber_Or(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit o» (bitwise or) de o1 y o2 en caso de éxito, o
NULLen caso de error. Este es el equivalente de la expresión de Pythono1 | o2.
-
PyObject *PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de agregar o1 y o2, o
NULLen caso de falla. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 += o2.
-
PyObject *PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de restar o2 de o1, o
NULLen caso de falla. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 -= o2.
-
PyObject *PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado de multiplicar o1 y o2, o
NULLen caso de error. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 *= o2.
-
PyObject *PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI since version 3.7.
Retorna el resultado de la multiplicación de matrices en o1 y o2, o
NULLen caso de falla. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 @= o2.Added in version 3.5.
-
PyObject *PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el cociente de la división entera a la baja entre o1 y o2, o
NULLen caso de error. La operación se realiza in situ (in-place) cuando o1 lo admite. Es el equivalente de la sentencia de Pythono1 //= o2.
-
PyObject *PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna una aproximación razonable para el valor matemático de o1 dividido por o2 o
NULLen caso de falla. El valor de retorno es «aproximado» porque los números binarios de coma flotante son aproximados; No es posible representar todos los números reales en base dos. Esta función puede retornar un valor de punto flotante cuando se pasan dos enteros. La operación se realiza en su lugar (in-place) cuando o1 lo admite.
-
PyObject *PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resto de dividir o1 entre o2 o
NULLen caso de error. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1%= o2.
-
PyObject *PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Return value: New reference. Part of the Stable ABI.
Consulte la función incorporada
pow(). RetornaNULLen caso de falla. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 **= o2cuando o3 esPy_None, o una variante en su lugar (in-place) depow (o1, o2, o3)de lo contrario. Si se ignora o3, pasePy_Noneen su lugar (pasarNULLpara o3 provocaría un acceso ilegal a la memoria).
-
PyObject *PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado del desplazamiento a la izquierda o1 por o2 en caso de éxito o
NULLen caso de error. La operación se realiza en su sitio (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 <<= o2.
-
PyObject *PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el resultado del desplazamiento a la derecha o1 por o2 en caso de éxito o
NULLen caso de error. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 >>= o2.
-
PyObject *PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit y» (bitwise and) de o1 y o2 en caso de éxito y
NULLen caso de error. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 &= o2.
-
PyObject *PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit o exclusivo» (bitwise exclusive or) de o1 por o2 en caso de éxito, o
NULLen caso de error. La operación se realiza en su lugar (in-place) cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 ^= o2.
-
PyObject *PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el «bit a bit o» (bitwise or) de o1 y o2 en caso de éxito, o
NULLen caso de error. La operación se realiza en su lugar in-place cuando o1 lo admite. Este es el equivalente de la declaración de Pythono1 |= o2.
-
PyObject *PyNumber_Long(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el o convertido a un objeto entero en caso de éxito, o
NULLen caso de error. Este es el equivalente de la expresión de Pythonint(o).
-
PyObject *PyNumber_Float(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el o convertido a un objeto flotante en caso de éxito o
NULLen caso de error. Este es el equivalente de la expresión de Pythonfloat(o).
-
PyObject *PyNumber_Index(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el o convertido aun entero de Python (int) en caso de éxito o
NULLcon una excepciónTypeErrorlanzada en caso de error.Distinto en la versión 3.10: El resultado siempre tiene el tipo exacto
int. Anteriormente, el resultado podía ser una instancia de una subclase deint.
-
PyObject *PyNumber_ToBase(PyObject *n, int base)¶
- Return value: New reference. Part of the Stable ABI.
Retorna el entero n convertido a base base como una cadena de caracteres. El argumento base debe ser uno de 2, 8, 10 o 16. Para la base 2, 8 o 16, la cadena retornada está prefijada con un marcador base de
'0b'”,'0o'o'0x', respectivamente. Si n no es un entero (int) Python, primero se convierte conPyNumber_Index().
-
Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc)¶
- Part of the Stable ABI.
Retorna o convertido a un valor
Py_ssize_tsi o puede interpretarse como un entero. Si la llamada falla, se lanza una excepción y se retorna-1.Si o puede convertirse a un entero de Python pero el intento de convertirlo a un valor
Py_ssize_tlanzaría unOverflowError, entonces el argumento exc es el tipo de excepción que se lanzará (normalmenteIndexErroroOverflowError). Si exc esNULL, la excepción se borra y el valor se recorta aPY_SSIZE_T_MINpara un entero negativo o aPY_SSIZE_T_MAXpara un entero positivo.
-
int PyIndex_Check(PyObject *o)¶
- Part of the Stable ABI since version 3.8.
Retorna
1si o es un entero índice (tiene la ranuranb_indexde la estructuratp_as_numberrellenada), y0en caso contrario. Esta función siempre finaliza con éxito.