- publishing free software manuals
An Introduction to Python
by 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(real, imag)’ function.

    >>> 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 z.real and 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(z) to get its magnitude (as a float) or 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 0954161769An Introduction to PythonSee the print edition