In Python, input and output are distinguished by the presence or absence of prompts (>>> and ...). 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

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

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

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

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

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

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)

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

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

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

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

## 0 Comments