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 (e.g., 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 >>>Like in C, the equal sign (
=
) is used to assign a value to a
variable. The value of an assignment is not written:
>>> 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:
>>> 4 * 2.5 / 3.3 3.0303030303 >>> 7.0 / 2 3.5Complex 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.5The 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=1.5+0.5j >>> float(a) Traceback (innermost last): File "<stdin>", line 1, in ? TypeError: can't convert complex to float; use e.g. abs(z) >>> a.real 1.5 >>> abs(a) 1.58113883008In 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 = 17.5 / 100 >>> price = 3.50 >>> price * tax 0.6125 >>> price + _ 4.1125 >>> round(_, 2) 4.11
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.