Protocolo de números¶
-
int
PyNumber_Check(PyObject *o)¶ 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.
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.
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.
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.
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.Nuevo en la versión 3.5.
-
PyObject*
PyNumber_FloorDivide(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Return the floor of o1 divided by o2, or
NULLon failure. This is the equivalent of the Python expressiono1 // o2.
-
PyObject*
PyNumber_TrueDivide(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Return a reasonable approximation for the mathematical value of o1 divided by o2, or
NULLon failure. The return value is «approximate» because binary floating point numbers are approximate; it is not possible to represent all real numbers in base two. This function can return a floating point value when passed two integers. This is the equivalent of the Python expressiono1 / o2.
-
PyObject*
PyNumber_Remainder(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Retorna el resto de dividir o1 entre 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.Nuevo en la versión 3.5.
-
PyObject*
PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Retorna el piso matemático de dividir o1 por 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_InPlaceTrueDivide(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Return a reasonable approximation for the mathematical value of o1 divided by o2, or
NULLon failure. The return value is «approximate» because binary floating point numbers are approximate; it is not possible to represent all real numbers in base two. This function can return a floating point value when passed two integers. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 /= o2.
-
PyObject*
PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Retorna el o convertido aun entero de Python (int) en caso de éxito o
NULLcon una excepciónTypeErrorgenerada en caso de error.
-
PyObject*
PyNumber_ToBase(PyObject *n, int base)¶ - Return value: New reference.
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)¶ Returns o converted to a
Py_ssize_tvalue if o can be interpreted as an integer. If the call fails, an exception is raised and-1is returned.If o can be converted to a Python int but the attempt to convert to a
Py_ssize_tvalue would raise anOverflowError, then the exc argument is the type of exception that will be raised (usuallyIndexErrororOverflowError). If exc isNULL, then the exception is cleared and the value is clipped toPY_SSIZE_T_MINfor a negative integer orPY_SSIZE_T_MAXfor a positive integer.