In Python, input and output are distinguished by the presence or absence of prompts (
...). You must type everything after the prompt, when the prompt appears; lines that do not begin with a prompt are output from the interpreter. The comments in Python starts with an hash(
#) character and ends when the physical line ends.
# this is the first comment SPAM = 1 # and this is the second comment # ... and now a third! STRING = "# This is not a comment."
Using Python as calculator
Just like Ruby language (introduced previously) python can also be used as a calculator.
The interpreter acts as a simple calculator: you can type an expression
at it and it will write the value. Expression syntax is straightforward:
/ 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.0 >>> 8/5 # Fractions aren't lost when dividing integers 1.6
To do integer division and get an integer result, discarding any fractional result, there is another operator,
>>> # 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
Variables must be “defined” (assigned a value) before they can be used, or an error will occur:
>>> # try to access an undefined variable ... n Traceback (most recent call last): File "", line 1, in NameError: name 'n' is not defined
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
(real+imagj), or can be created with the
>>> 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()) don’t work for complex numbers — there is not 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 "", 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.