Protocolo de número¶
-
int PyNumber_Check(PyObject *o)¶
- Parte da ABI Estável.
Retorna
1se o objeto o fornece protocolos numéricos; caso contrário, retorna falso. Esta função sempre tem sucesso.Alterado na versão 3.8: Retorna
1se o for um número inteiro de índice.
-
PyObject *PyNumber_Add(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da adição de o1 e o2, ou
NULLem caso de falha. Este é o equivalente da expressão Pythono1 + o2.
-
PyObject *PyNumber_Subtract(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da subtração de o2 por o1, ou
NULLem caso de falha. Este é o equivalente da expressão Pythono1 - o2.
-
PyObject *PyNumber_Multiply(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da multiplicação de o1 e o2, ou
NULLem caso de falha. Este é o equivalente da expressão Pythono1 * o2.
-
PyObject *PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável desde a versão 3.7.
Retorna o resultado da multiplicação da matriz em o1 e o2, ou
NULLem caso de falha. Este é o equivalente da expressão Pythono1 @ o2.Adicionado na versão 3.5.
-
PyObject *PyNumber_FloorDivide(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o piso de o1 dividido por o2 ou
NULLem caso de falha. Isso é equivalente à expressão Pythono1 // o2.
-
PyObject *PyNumber_TrueDivide(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
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)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resto da divisão de o1 por o2 ou
NULLem caso de falha. Isso é equivalente à expressão Pythono1 % o2.
-
PyObject *PyNumber_Divmod(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Consulte a função embutida
divmod(). RetornaNULLem caso de falha. Isso é equivalente à expressão Pythondivmod(o1, o2).
-
PyObject *PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
See the built-in function
pow(). ReturnsNULLon failure. This is the equivalent of the Python expressionpow(o1, o2, o3), where o3 is optional. If o3 is to be ignored, passPy_Nonein its place (passingNULLfor o3 would cause an illegal memory access).
-
PyObject *PyNumber_Negative(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna a negação de o em caso de sucesso ou
NULLem caso de falha. Isso é equivalente à expressão Python-o.
-
PyObject *PyNumber_Positive(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o em caso de sucesso ou
NULLem caso de falha. Isso é equivalente à expressão Python+o.
-
PyObject *PyNumber_Absolute(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o valor absoluto de o ou
NULLem caso de falha. Isso é equivalente à expressão Pythonabs(o).
-
PyObject *PyNumber_Invert(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna a negação bit a bit de o em caso de sucesso, ou
NULLem caso de falha. Isso é equivalente à expressão Python~o.
-
PyObject *PyNumber_Lshift(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado do deslocamento à esquerda de o1 por o2 em caso de sucesso ou
NULLem caso de falha. Isso é equivalente à expressão Pythono1 << o2.
-
PyObject *PyNumber_Rshift(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado do deslocamento à direita de o1 por o2 em caso de sucesso ou
NULLem caso de falha. Isso é equivalente à expressão Pythono1 >> o2.
-
PyObject *PyNumber_And(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o bit a bit “e” de o1 e o2 em caso de sucesso e
NULLem caso de falha. Isso é equivalente à expressão Pythono1 & o2.
-
PyObject *PyNumber_Xor(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o bit a bit “ou exclusivo” de o1 por o2 em caso de sucesso ou
NULLem caso de falha. Isso é equivalente à expressão Pythono1 ^ o2.
-
PyObject *PyNumber_Or(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o bit a bit “ou” de o1 e o2 em caso de sucesso ou
NULLem caso de falha. Isto é equivalente à expressão Pythono1 | o2.
-
PyObject *PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da adição de o1 e o2 ou
NULLem caso de falha. A operação é feita no local quando o1 dá suporte a isso. Isto é equivalente à instrução Pythono1 += o2.
-
PyObject *PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da subtração de o2 de o1 ou
NULLem caso de falha. A operação é feita no local quando o1 dá suporte a isso. Isto é equivalente à instrução Pythono1 -= o2.
-
PyObject *PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resultado da multiplicação de o1 e o2 ou
NULLem caso de falha. A operação é feita no local quando o1 dá suporte a isso. Isto é equivalente à instrução Pythono1 *= o2.
-
PyObject *PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável desde a versão 3.7.
Returns the result of matrix multiplication on o1 and o2, or
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 @= o2.Adicionado na versão 3.5.
-
PyObject *PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o valor matemático mínimo da divisão de o1 por o2 ou
NULLem caso de falha. A operação é feita no local quando o1 dá suporte a isso. Isto é equivalente à instrução Pythono1 //= o2.
-
PyObject *PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
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)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o resto da divisão de o1 por o2 ou
NULLem caso de falha. A operação é feita no local quando o1 dá suporte a isso. Isto é equivalente à instrução Pythono1 %= o2.
-
PyObject *PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
See the built-in function
pow(). ReturnsNULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 **= o2when o3 isPy_None, or an in-place variant ofpow(o1, o2, o3)otherwise. If o3 is to be ignored, passPy_Nonein its place (passingNULLfor o3 would cause an illegal memory access).
-
PyObject *PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the result of left shifting o1 by o2 on success, or
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 <<= o2.
-
PyObject *PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the result of right shifting o1 by o2 on success, or
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 >>= o2.
-
PyObject *PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the “bitwise and” of o1 and o2 on success and
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 &= o2.
-
PyObject *PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the “bitwise exclusive or” of o1 by o2 on success, or
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 ^= o2.
-
PyObject *PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the “bitwise or” of o1 and o2 on success, or
NULLon failure. The operation is done in-place when o1 supports it. This is the equivalent of the Python statemento1 |= o2.
-
PyObject *PyNumber_Long(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o o convertido para um objeto inteiro em caso de sucesso ou
NULLem caso de falha. Isto é equivalente à expressão Pythonint(o).
-
PyObject *PyNumber_Float(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o o convertido para um objeto float em caso de sucesso ou
NULLem caso de falha. Isto é equivalente à expressão Pythonfloat(o).
-
PyObject *PyNumber_Index(PyObject *o)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Retorna o convertido para int Python em caso de sucesso ou
NULLcom umTypeErrorexceção levantada ao falhar.Alterado na versão 3.10: O resultado sempre tem o tipo exato
int. Anteriormente, o resultado poderia ter sido uma instância de uma subclasse deint.
-
PyObject *PyNumber_ToBase(PyObject *n, int base)¶
- Retorna valor: Nova referência. Parte da ABI Estável.
Returns the integer n converted to base base as a string. The base argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned string is prefixed with a base marker of
'0b','0o', or'0x', respectively. If n is not a Python int, it is converted withPyNumber_Index()first.
-
Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc)¶
- Parte da ABI Estável.
Retorna o convertido para um valor
Py_ssize_tse o puder ser interpretado como um inteiro. Se a chamada falhar, uma exceção é levantada e-1é retornado.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.
-
int PyIndex_Check(PyObject *o)¶
- Parte da ABI Estável desde a versão 3.8.
Retorna
1se o for um índice inteiro (tem o slotnb_indexda estruturatp_as_numberpreenchido) e0caso contrário. Esta função sempre tem sucesso.