O'Reilly logo

Python in a Nutshell by Alex Martelli

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required