Name

PySequence_Tuple

Synopsis

PyObject* PySequence_Tuple(PyObject* x)

Returns a new reference to a tuple with the same items as x, like Python’s tuple( x ).

The functions whose names start with PyNumber_ allow you to perform numeric operations. Unary PyNumber functions, which take one argument PyObject* x and return a PyObject*, are listed in Table 24-3 with their Python equivalents.

Table 24-3. Unary PyNumber functions

Function

Python equivalent

PyNumber_Absolute
abs(x)
PyNumber_Float
float(x)
PyNumber_Int
int(x)
PyNumber_Invert
~x
PyNumber_Long
long(x)
PyNumber_Negative
-x
PyNumber_Positive
+x

Binary PyNumber functions, which take two PyObject* arguments x and y and return a PyObject*, are similarly listed in Table 24-4.

Table 24-4. Binary PyNumber functions

Function

Python equivalent

PyNumber_Add
x + y
PyNumber_And
x & y
PyNumber_Divide
x / y
PyNumber_Divmod
divmod(x, y)
PyNumber_FloorDivide
x // y
PyNumber_Lshift
x << y
PyNumber_Multiply
x * y
PyNumber_Or
x | y
PyNumber_Remainder
x % y
PyNumber_Rshift
x >> y
PyNumber_Subtract
x - y
PyNumber_TrueDivide

x / y (non-truncating)

PyNumber_Xor
x ^ y

All the binary PyNumber functions have in-place equivalents whose names start with PyNumber_InPlace, such as PyNumber_InPlaceAdd and so on. The in-place versions try to modify the first argument in-place, if possible, and in any case return a new reference to the result, be it the first argument (modified) or a new object. Python’s ...

Get Python in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.