Номер протоколу¶
-
int PyNumber_Check(PyObject *o)¶
- Part of the Stable ABI.
Повертає
1
, якщо об’єкт o надає числові протоколи, і false в іншому випадку. Ця функція завжди успішна.Змінено в версії 3.8: Повертає
1
, якщо o є цілим індексом.
-
PyObject *PyNumber_Add(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат додавання o1 і o2 або
NULL
у разі помилки. Це еквівалент виразу Pythono1 + o2
.
-
PyObject *PyNumber_Subtract(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат віднімання o2 від o1 або
NULL
у разі помилки. Це еквівалент виразу Pythono1 - o2
.
-
PyObject *PyNumber_Multiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат множення o1 і o2 або
NULL
у разі помилки. Це еквівалент виразу Pythono1 * o2
.
-
PyObject *PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI since version 3.7.
Повертає результат множення матриці на o1 та o2 або
NULL
у разі помилки. Це еквівалент виразу Pythono1 @ o2
.Added in version 3.5.
-
PyObject *PyNumber_FloorDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає нижню частину o1, поділену на o2, або
NULL
у разі помилки. Це еквівалент виразу Pythono1 // o2
.
-
PyObject *PyNumber_TrueDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає прийнятне наближення для математичного значення o1, поділеного на o2, або
NULL
у разі помилки. Повернене значення є «приблизним», оскільки двійкові числа з плаваючою комою є приблизними; неможливо представити всі дійсні числа за основою два. Ця функція може повернути значення з плаваючою комою, коли передано два цілі числа. Це еквівалент виразу Pythono1 / o2
.
-
PyObject *PyNumber_Remainder(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає залишок від ділення o1 на o2 або
NULL
у разі помилки. Це еквівалент виразу Pythono1 % o2
.
-
PyObject *PyNumber_Divmod(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Перегляньте вбудовану функцію
divmod()
. ПовертаєNULL
у разі помилки. Це еквівалент виразу Pythondivmod(o1, o2)
.
-
PyObject *PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Return value: New reference. Part of the Stable ABI.
Перегляньте вбудовану функцію
pow()
. ПовертаєNULL
у разі помилки. Це еквівалент виразу Pythonpow(o1, o2, o3)
, де o3 є необов’язковим. Якщо o3 потрібно ігнорувати, передайте замість ньогоPy_None
(передачаNULL
для o3 призведе до незаконного доступу до пам’яті).
-
PyObject *PyNumber_Negative(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає заперечення o у разі успіху або
NULL
у разі невдачі. Це еквівалент виразу Python-o
.
-
PyObject *PyNumber_Positive(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає o у разі успіху або
NULL
у разі невдачі. Це еквівалент виразу Python+o
.
-
PyObject *PyNumber_Absolute(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає абсолютне значення o або
NULL
у разі помилки. Це еквівалент виразу Pythonabs(o)
.
-
PyObject *PyNumber_Invert(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає порозрядне заперечення o у разі успіху або
NULL
у разі невдачі. Це еквівалент виразу Python~o
.
-
PyObject *PyNumber_Lshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат зсуву вліво o1 на o2 у разі успіху або
NULL
у разі помилки. Це еквівалент виразу Pythono1 << o2
.
-
PyObject *PyNumber_Rshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат зсуву праворуч o1 на o2 у разі успіху або
NULL
у разі помилки. Це еквівалент виразу Pythono1 >> o2
.
-
PyObject *PyNumber_And(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне та» o1 і o2 у разі успіху та
NULL
у разі помилки. Це еквівалент виразу Pythono1 & o2
.
-
PyObject *PyNumber_Xor(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне виняткове або» o1 на o2 у разі успіху або
NULL
у разі помилки. Це еквівалент виразу Pythono1 ^ o2
.
-
PyObject *PyNumber_Or(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне або» o1 і o2 у разі успіху або
NULL
у разі помилки. Це еквівалент виразу Pythono1 | o2
.
-
PyObject *PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат додавання o1 і o2 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 += o2
.
-
PyObject *PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат віднімання o2 від o1 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 -= o2
.
-
PyObject *PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат множення o1 і o2 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 *= o2
.
-
PyObject *PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI since version 3.7.
Повертає результат множення матриці на o1 і o2 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 @= o2
.Added in version 3.5.
-
PyObject *PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає математичний рівень ділення o1 на o2 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 //= o2
.
-
PyObject *PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає прийнятне наближення для математичного значення o1, поділеного на o2, або
NULL
у разі помилки. Повернене значення є «приблизним», оскільки двійкові числа з плаваючою комою є приблизними; неможливо представити всі дійсні числа за основою два. Ця функція може повернути значення з плаваючою комою, коли передано два цілі числа. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 /= o2
.
-
PyObject *PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає залишок від ділення o1 на o2 або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 %= o2
.
-
PyObject *PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)¶
- Return value: New reference. Part of the Stable ABI.
Перегляньте вбудовану функцію
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. Part of the Stable ABI.
Повертає результат зсуву ліворуч o1 на o2 у разі успіху або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 <<= o2
.
-
PyObject *PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає результат зсуву праворуч o1 на o2 у разі успіху або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 >>= o2
.
-
PyObject *PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне та» o1 і o2 у разі успіху та
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 &= o2
.
-
PyObject *PyNumber_InPlaceXor(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне виняткове або» o1 на o2 у разі успіху або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 ^= o2
.
-
PyObject *PyNumber_InPlaceOr(PyObject *o1, PyObject *o2)¶
- Return value: New reference. Part of the Stable ABI.
Повертає «порозрядне або» o1 і o2 у разі успіху або
NULL
у разі помилки. Операція виконується на місці, якщо o1 її підтримує. Це еквівалент оператора Pythono1 |= o2
.
-
PyObject *PyNumber_Long(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає o, перетворений на цілий об’єкт у разі успіху, або
NULL
у разі помилки. Це еквівалент виразу Pythonint(o)
.
-
PyObject *PyNumber_Float(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає o, перетворений на об’єкт float у разі успіху, або
NULL
у разі помилки. Це еквівалент виразу Pythonfloat(o)
.
-
PyObject *PyNumber_Index(PyObject *o)¶
- Return value: New reference. Part of the Stable ABI.
Повертає o, перетворений на Python int у разі успіху або
NULL
з виключеннямTypeError
, яке виникає в разі помилки.Змінено в версії 3.10: Результат завжди має точний тип
int
. Раніше результат міг бути екземпляром підкласуint
.
-
PyObject *PyNumber_ToBase(PyObject *n, int base)¶
- Return value: New reference. Part of the Stable ABI.
Повертає ціле число 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)¶
- Part of the Stable ABI.
Повертає o, перетворене на значення
Py_ssize_t
, якщо o можна інтерпретувати як ціле число. Якщо виклик не вдається, виникає виняток і повертається-1
.Якщо o можна перетворити на Python int, але спроба перетворити на значення
Py_ssize_t
призведе до появиOverflowError
, тоді аргумент exc є типом винятку, який викличе бути викликано (зазвичайIndexError
абоOverflowError
). Якщо exc дорівнюєNULL
, тоді виняток очищається, а значення обрізається доPY_SSIZE_T_MIN
для від’ємного цілого числа абоPY_SSIZE_T_MAX
для додатного цілого числа.
-
int PyIndex_Check(PyObject *o)¶
- Part of the Stable ABI since version 3.8.
Повертає
1
, якщо o є цілим індексом (має заповнений слотnb_index
структуриtp_as_number
), і0
інакше. Ця функція завжди успішна.