Номер протоколу¶
-
int
PyNumber_Check(PyObject *o)¶ Повертає
1, якщо об’єкт o надає числові протоколи, і false в іншому випадку. Ця функція завжди успішна.Змінено в версії 3.8: Повертає
1, якщо o є цілим індексом.
-
PyObject*
PyNumber_Add(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат додавання o1 і o2 або
NULLу разі помилки. Це еквівалент виразу Pythono1 + o2.
-
PyObject*
PyNumber_Subtract(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат віднімання o2 від o1 або
NULLу разі помилки. Це еквівалент виразу Pythono1 - o2.
-
PyObject*
PyNumber_Multiply(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат множення o1 і o2 або
NULLу разі помилки. Це еквівалент виразу Pythono1 * o2.
-
PyObject*
PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат множення матриці на o1 та o2 або
NULLу разі помилки. Це еквівалент виразу Pythono1 @ o2.Нове в версії 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 equivalent to the «classic» division of integers.
-
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.
-
PyObject*
PyNumber_Remainder(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає залишок від ділення o1 на o2 або
NULLу разі помилки. Це еквівалент виразу Pythono1 % o2.
-
PyObject*
PyNumber_Divmod(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Перегляньте вбудовану функцію
divmod(). ПовертаєNULLу разі помилки. Це еквівалент виразу Pythondivmod(o1, o2).
-
PyObject*
PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)¶ - Return value: New reference.
Перегляньте вбудовану функцію
pow(). ПовертаєNULLу разі помилки. Це еквівалент виразу Pythonpow(o1, o2, o3), де o3 є необов’язковим. Якщо o3 потрібно ігнорувати, передайте замість ньогоPy_None(передачаNULLдля o3 призведе до незаконного доступу до пам’яті).
-
PyObject*
PyNumber_Negative(PyObject *o)¶ - Return value: New reference.
Повертає заперечення o у разі успіху або
NULLу разі невдачі. Це еквівалент виразу Python-o.
-
PyObject*
PyNumber_Positive(PyObject *o)¶ - Return value: New reference.
Повертає o у разі успіху або
NULLу разі невдачі. Це еквівалент виразу Python+o.
-
PyObject*
PyNumber_Absolute(PyObject *o)¶ - Return value: New reference.
Повертає абсолютне значення o або
NULLу разі помилки. Це еквівалент виразу Pythonabs(o).
-
PyObject*
PyNumber_Invert(PyObject *o)¶ - Return value: New reference.
Повертає порозрядне заперечення o у разі успіху або
NULLу разі невдачі. Це еквівалент виразу Python~o.
-
PyObject*
PyNumber_Lshift(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат зсуву вліво o1 на o2 у разі успіху або
NULLу разі помилки. Це еквівалент виразу Pythono1 << o2.
-
PyObject*
PyNumber_Rshift(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат зсуву праворуч o1 на o2 у разі успіху або
NULLу разі помилки. Це еквівалент виразу Pythono1 >> o2.
-
PyObject*
PyNumber_And(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне та» o1 і o2 у разі успіху та
NULLу разі помилки. Це еквівалент виразу Pythono1 & o2.
-
PyObject*
PyNumber_Xor(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне виняткове або» o1 на o2 у разі успіху або
NULLу разі помилки. Це еквівалент виразу Pythono1 ^ o2.
-
PyObject*
PyNumber_Or(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне або» o1 і o2 у разі успіху або
NULLу разі помилки. Це еквівалент виразу Pythono1 | o2.
-
PyObject*
PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат додавання o1 і o2 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 += o2.
-
PyObject*
PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат віднімання o2 від o1 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 -= o2.
-
PyObject*
PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат множення o1 і o2 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 *= o2.
-
PyObject*
PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат множення матриці на o1 і o2 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 @= o2.Нове в версії 3.5.
-
PyObject*
PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає математичний рівень ділення o1 на o2 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора 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.
-
PyObject*
PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає залишок від ділення o1 на o2 або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 %= o2.
-
PyObject*
PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)¶ - Return value: New reference.
Перегляньте вбудовану функцію
pow(). ПовертаєNULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 **= o2, коли o3 дорівнюєPy_None, або альтернативного варіантуpow(o1, o2, o3)інакше. Якщо o3 потрібно ігнорувати, передайте замість ньогоPy_None(передачаNULLдля o3 призведе до незаконного доступу до пам’яті).
-
PyObject*
PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат зсуву ліворуч o1 на o2 у разі успіху або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 <<= o2.
-
PyObject*
PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає результат зсуву праворуч o1 на o2 у разі успіху або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 >>= o2.
-
PyObject*
PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне та» o1 і o2 у разі успіху та
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 &= o2.
-
PyObject*
PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне виняткове або» o1 на o2 у разі успіху або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 ^= o2.
-
PyObject*
PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)¶ - Return value: New reference.
Повертає «порозрядне або» o1 і o2 у разі успіху або
NULLу разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 |= o2.
-
PyObject*
PyNumber_Long(PyObject *o)¶ - Return value: New reference.
Повертає o, перетворений на цілий об’єкт у разі успіху, або
NULLу разі помилки. Це еквівалент виразу Pythonint(o).
-
PyObject*
PyNumber_Float(PyObject *o)¶ - Return value: New reference.
Повертає o, перетворений на об’єкт float у разі успіху, або
NULLу разі помилки. Це еквівалент виразу Pythonfloat(o).
-
PyObject*
PyNumber_Index(PyObject *o)¶ - Return value: New reference.
Повертає o, перетворений на Python int у разі успіху або
NULLз виключеннямTypeError, яке виникає в разі помилки.
-
PyObject*
PyNumber_ToBase(PyObject *n, int base)¶ - Return value: New reference.
Повертає ціле число n, перетворене на базу base як рядок. Аргумент base має бути одним із 2, 8, 10 або 16. Для base 2, 8 або 16 повернутий рядок має префікс базового маркера
'0b','0o'або'0x''відповідно. Якщо n не є int Python, воно спочатку перетворюється за допомогоюPyNumber_Index().
-
Py_ssize_t
PyNumber_AsSsize_t(PyObject *o, PyObject *exc)¶ Returns o converted to a Py_ssize_t value 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_t value would raise an
OverflowError, 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.