Last updated: Thursday 4th September 2008, 9:04 PT, AHD


And now for something
completely different . . .

Part 4

 

Python Data Processing and Selection

 

4.1 Python Program Structure

4.2 Memory Concepts

4.3 Arithmetic Expression Operators

4.4 Relational and Logical Operators

4.5 Selection

4.6 De Morgan's Laws

 

 

4.1 Python Program Structure

 

·       Programs are composed of modules

·       Modules contain statements

·       Statements contain expressions

·       Expressions create and process objects

 

 

4.2 Memory concepts

 

A variable is a name that refers to a value. The assignment statement creates new variables and gives them values:

number1 = raw_input("Enter first number:\n")

Variable names such as number1 actually refer to Python objects.

 

Every object has a data type (e.g. int),
a size (e.g. 4 bytes), a value (e.g.
10)

and a location in the computer's memory. . .

 

 

 


 

 

 


 

 

 


In Python, a program cannot change an object's type or location.

 

Only with a small selection of object types can the value of the object be changed...

 

Python program statements cannot change the value of a number or string object. These objects are said to be immutable.

 

 

 

 


 

 


see program:

http://www.annedawson.net/PythonPrograms.txt

04-01.py

 

 

 

 


 

 

 


 

 

 


 


see program:

http://www.annedawson.net/PythonPrograms.txt

04-02.py

 

 


 

 


Displaying an object's memory location

 

A representation of the memory location of an object can be obtained by using the id function.

 

 

number1 = raw_input("Enter first number:\n")

print number1, type(number1), id(number1)

 

 

number1 = int(number1)

print number1, type(number1) ), id(number1)

 

 

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-03.py

 

 

 

 

 

4.3 Arithmetic Expression Operators

 

Numeric Expressions (int)

 

2 + 4

6 - 4

6 * 3

6 / 3

6 % 3

6 // 3

-5

3**2

 

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-04.py

 

 

 

 

 

 

Numeric Expressions (float)

 

2.0 + 4.0

6.0 - 4.0

6.0 * 3.0

6.0 / 3.0

6.0 % 3.0

6.0 // 3.0

-5.0

3.0**2.0

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-05.py

 

 

 

 

 

 

Mixed Numeric Expressions

 

2 + 4.0

6 - 4.0

6 * 3.0

6 / 3.0

6 % 3.0

6 // 3.0

-5.0

3**2.0

 

 

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-06.py

 

 

 

 

 

4.4 Relational and Logical Operators

 

Relational operators relate two operands

 

7 > 10

4 < 16

4 == 4

4 <= 4

4 >= 4

4 != 4

4 <> 4

 

These are Boolean expressions.

The result of these expressions is either true (1) or false (0).

 

 

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-07.py

 

 

A Boolean Example

 

number = 10

isPositive = (number > 0)

# the value true (1) is

# assigned to isPositive

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-08.py

 

 

 

 

Combining Boolean expressions

 

You can combine Boolean expressions.

 

For example, if you need to know if a person's age is greater than 21,

AND they have a salary greater than 50 thousand dollars..

 

Combining Boolean Expressions with a Logical Operator (and)

 

age = 25

salary = 55000

print (age > 21) and (salary > 50000)

 

 

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-09.py

 

 

 

 

 

Logical operator: and

 

(age > 21) and (salary > 50000)

 

The and is known as a logical operator.

 

Logical (Boolean) Operators

 

and

or

not

 

Truth Tables of Boolean Operators

 

 


 

 

 

 

 

 


 

 

 


 

 

 

 


When writing boolean expressions or arithmetic expressions, it is usually best to indicate the order of operations by using parentheses (brackets).

 

 

If parentheses are not used in an expression, the computer will perform the operations in an order determined by the precedence rules. . .

 

Precedence Rules

 

(lowest precedence)

logical or

logical and

logical not

relational operators: <, >, <=, etc

+, -

*, /, %, //

-x, + x

( )

(highest precedence)

 

 

 

 

4.5 Selection

 

The if statement

 

The if statement starts with the keyword if followed by a Boolean expression, followed by a colon (:).

 

 

x = 'spam'

if x == 'spam':

   print 'Hi spam'

else:

   print 'not spam'

 

Beneath the if line, the statements to be run if the condition is true are entered after pressing the Tab key or typing a few space characters.

 

 

The if statement makes use of a Boolean expression to decide which statement(s) to execute.

 

The Boolean expression in this example is:

 

x == 'spam'

 

The expression has a value of true or false (1 or 0).

 

The Boolean expression is also known as the condition of the if statement.

 

If the condition is true,

the first print statement is executed and the second one is skipped.

 

If the condition is false,

the first print statement is skipped and the second one is executed.

 

 

It's possible to have multiple statements in the true or false sections

of an if statement...

 

 

 

x = 'spam'

if x == 'spam':

    print 'Hi spam'

    print 'Hi Anne'

else:

    print 'not spam'

    print 'bye Anne'

 

If the condition is true, the first two print statements are executed

and the second set are skipped.

 

 

The if statement - syntax

 

 

The if statement starts with the keyword if followed by a Boolean expression, followed by a colon (:).

 

 

x = 'spam'

if x == 'spam':

   print 'Hi spam'

else:

   print 'not spam'

 

Beneath the if line, the statements to be run if the condition is true are entered after pressing the Tab key or typing a few space characters.

 

The statements to be run must be indented to the same level.

It's recommended to press the Tab key before typing the statements.

 

 

x = 'spam'

if x == 'spam':

   print 'Hi spam'

else:

   print 'not spam'

 

 


 

 


The else part of an if statement is optional, but if included, must be followed by a colon (:), and then the indented statement(s) to be executed if the condition is false.

 

see programs:

http://www.annedawson.net/PythonPrograms.txt

04-10.py

04-11.py

04-12.py

 

 

 

 

 

The nested if statement

 

Nested if/else statements test for multiple cases

by placing if/else selection structures inside other

if/else selection structures

 


 

 

 


see programs:

http://www.annedawson.net/PythonPrograms.txt

04-13.py

04-14.py

 

 

 

The nested if/elif/else statement

 

Nested if/else statements can be written using an alternate if/elif/else construct.

 

Program 04-14.py is exactly equivalent to 04-15.py.

 

 


 

 

 


see program:

http://www.annedawson.net/PythonPrograms.txt

04-15.py

 

 

 

4.6 De Morgan's Laws

 

 

http://www.annedawson.net/DeMorgansLaws.htm

http://en.wikipedia.org/wiki/De_Morgan%27s_law

 

1. A not and is equivalent to an or with two negated inputs.

2. A not or is equivalent to an and with two negated inputs.

 

see program:

http://www.annedawson.net/PythonPrograms.txt

04-16.py

 

 

 

 

 

 

 

 

 

 

This Presentation uses the following program files:

 

http://www.annedawson.net/PythonPrograms.txt

 

04-01.py

04-02.py

04-03.py

04-04.py

04-05.py

04-06.py

04-07.py

04-08.py

04-09.py

04-10.py

04-11.py

04-12.py

04-13.py

04-14.py

04-15.py

04-16.py

 

 

 

 

End of Python_Processing_Selection.htm