An Introduction to Pythonby Guido van Rossum and Fred L. Drake, Jr. Paperback (6"x9"), 124 pages ISBN 0954161769 RRP £12.95 ($19.95) Sales of this book support the Python Software Foundation! Get a printed copy>>> |

### 3.1.1 Numbers

The interpreter acts as a simple calculator: you can type an
expression at it and it will write the value. Expression syntax is
straightforward: the operators `+`

, `-`

, `*`

and
`/`

work just like in most other languages (for example, Pascal
or C); parentheses can be used for grouping. For example:

>>> 2+2 4 >>> # This is a comment ... 2+2 4 >>> 2+2 # and a comment on the same line as code 4 >>> (50-5*6)/4 5 >>> # Integer division returns the floor: ... 7/3 2 >>> 7/-3 -3

The equal sign (`‘=’`) is used to assign a value to a variable.
Afterwards, no result is displayed before the next interactive prompt:

>>> width = 20 >>> height = 5*9 >>> width * height 900

A value can be assigned to several variables simultaneously:

>>> x = y = z = 0 # Zero x, y and z >>> x 0 >>> y 0 >>> z 0

There is full support for floating point; operators with mixed type operands convert the integer operand to floating point:

>>> 3 * 3.75 / 1.5 7.5 >>> 7.0 / 2 3.5

Complex numbers are also supported; imaginary numbers are written with
a suffix of `‘j’` or `‘J’`. Complex numbers with a nonzero
real component are written as `‘( real+imagj)’`, or can
be created with the

`‘complex(`function.

`real`,`imag`)’>>> 1j * 1J (-1+0j) >>> 1j * complex(0,1) (-1+0j) >>> 3+1j*3 (3+3j) >>> (3+1j)*3 (9+3j) >>> (1+2j)/(1+1j) (1.5+0.5j)

Complex numbers are always represented as two floating point numbers,
the real and imaginary part. To extract these parts from a complex
number `z`, use

and `z`.real

.
`z`.imag

>>> a=1.5+0.5j >>> a.real 1.5 >>> a.imag 0.5

The conversion functions to floating point and integer
(`float()`

, `int()`

and `long()`

) don't
work for complex numbers--there is no one correct way to convert a
complex number to a real number. Use `abs(`

to get its
magnitude (as a float) or `z`)`z.real`

to get its real part.

>>> a=3.0+4.0j >>> float(a) Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: can't convert complex to float; use abs(z) >>> a.real 3.0 >>> a.imag 4.0 >>> abs(a) # sqrt(a.real**2 + a.imag**2) 5.0 >>>

In interactive mode, the last printed expression is assigned to the
variable `_`

. This means that when you are using Python as a
desk calculator, it is somewhat easier to continue calculations, for
example:

>>> tax = 12.5 / 100 >>> price = 100.50 >>> price * tax 12.5625 >>> price + _ 113.0625 >>> round(_, 2) 113.06 >>>

This variable should be treated as read-only by the user. Don't explicitly assign a value to it--you would create an independent local variable with the same name masking the built-in variable with its magic behavior.

ISBN 0954161769 | An Introduction to Python | See the print edition |