01 Variable, String
and Iteration
• Variables and arithmetic expressions, Conditionals
• String, Lists, Tuples, Sets, Dictionaries
• Iteration and Looping
Variables and arithmetic expressions
Variables
• untyped and made any type of data
during execution
Operator
• + , - , *, /
• %
• **
2
19
Conditionals
if … else
if a < b:
print (“Computer says Yes”)
else:
print (“Computer says No”)
3
19
Conditionals
pass
• To create an empty clause using pass
statement
if a < b:
pass # Do nothing
else
print (“Computer says No”)
4
19
Conditionals
AND
OR Boolean
NOT
if product == “game” and type == “pirate memory”
and not (age < 4 or age > 8):
5 print (“I'll take it!”)
19
Conditionals
• Python does not have a special
switch or case statement for testing values.
• To handle multiple-test cases, use the elif statement
6
19
Conditionals
elif
if suffix == “.htm”:
content = “text/html”
elif suffix == “.jpg”:
content = “image/jpeg”
else:
raise RuntimeError ("Unknown content type")
7
19
String
• produces the output that you get when you
str()
use the print statement
• creates a string that you type into a program
repr()
to exactly represent the value of an object
8
19
String
• converts a value to a string with a specific
format()
formatting applied
9
19
Lists
• Lists are sequences of arbitrary objects.
• Create a list by enclosing values in square brackets.
names = [ "Dave", "Mark", "Ann", "Phil" ]
• Lists are indexed by integers, starting with zero.
• Use the indexing operator to access and modify
individual items of the list.
10
19
Lists
append()
• To append new items to the end of a list
names.append ("Paula")
insert()
• To insert an item into the middle of a list
names. insert (2, "Thomas")
11
19
Lists
• can extract or reassign a portion of a list by using
the slicing operator:
b = names[0:2] # Returns [ “Dave", "Mark" ]
• Lists can contain any kind of Python object,
including other lists:
a = [1,"Dave",3.14, ["Mark",7,9, [100,101]],10]
12
19
Tuples
• To create simple data structures, you can pack a
collection of values together into a single object
using a tuple.
• Create a tuple by enclosing a group of values in
parentheses like this:
stock = ('GOOG', 100, 490.10)
13
19
Sets
• A set is used to contain an unordered collection of
objects.
• To create a set, use the set() function and supply a
sequence of items such as follows:
s = set([3,5,9,10])
14
19
Sets
• Sets are unordered and cannot be indexed by
numbers.
• The elements of a set are never duplicated.
• Sets support a standard collection of operations,
including union, intersection, difference, and
symmetric difference.
15
19
Sets
add() (or) update()
New items can be added to a set
remove()
An item can be removed to set
16
19
Dictionaries
• A dictionary is an associative array or hash table
that contains objects indexed by keys.
• Create a dictionary by enclosing the values in curly
braces ({ }), like this:
stock = {
"name" : "GOOG",
"shares" : 100,
"price" : 490.10
}
17
19
lteration and Looping
for
• To iterate over a collection of items
for iterating_var in sequence:
statements (s)
18
19
lteration and Looping
• The for statement is not limited to sequences of
integers.
• It can be used to iterate over many kinds of objects
including strings, lists, dictionaries, and files.
19
19
02 Function,
Object and File
• Functions, Generators, Coroutines
• Objects and classes, Exceptions, Modules
• File Input and Output
Functions
• use the def statement to create a function
def remainder(a,b):
q = a // b # // is truncating division.
r = a - q*b
return r
• To invoke a function, simply use the name of
the function followed by its enclosed in
parentheses,
result = remainder(37,15)
2
14
Functions
• To assign a default value to a function
parameter, use assignment:
def connect(hostname, port ,timeout=300):
# Function body
3
14
Generators
• A function can generate an entire sequence
of results if it uses the yield statement.
next()
• produces a sequence of results through
successive calls
4
14
Coroutines
• Functions operate on a single set of input
arguments.
• A function can also be written to operate as a task
that processes a sequence of inputs sent to it.
• This type of function is known as a coroutine and is
created by using the yield statement.
5
14
Coroutines
send()
• A coroutine is suspended until a value is
sent to it
close()
• This continues until the coroutine
function returns or close
6
14
Objects and classes
• All values used in a program are objects.
• An object consists of internal data and method
that perform various kinds of operations.
>>>items = [37, 42] # Create a list object
>>>items.append(73) # Call append() method
7
14
Objects and classes
dir()
• lists the methods available on an object
and is a useful tool for interactive
experimentation.
• Special methods that always begin and end
with a double underscore. Eg. __ init__()
8
14
Exceptions
• If an error occurs in program, an exception is
raised and a traceback message appears:
Traceback (most recent call last):
File "foo.py", line 12, in <module>
IOError: [Errno 2] No such file or directory: 'file.txt‘
• The traceback message indicates the type of
error that occurred, along with its location.
9
14
Modules
• Python allows you to put definitions in a file and use
them as a module that can be imported into other
programs and scripts.
# file : div.py
def divide(a,b):
q = a/b # If a and b are integers, q is an integer
r = a - q*b
return (q,r)
10
14
Modules
• To use your module in other programs, you can use
the import statement:
import div
a, b = div.divide (2305, 29)
• To load all of a module’s contents into the current
namespace, you can also use the following:
from div import *
11
14
Modules
• If you want to import a module using a different
name, supply the import statement with an optional
as qualifier, as follows:
import div as foo
a,b = foo.divide(2305,29)
12
14
Modules
• To import specific definitions into the current
namespace, use the from statement:
from div import divide
a,b = divide(2305,29)
13
14
File Input and Output
open( )
• returns a new file object
readline()
• reads a single line of input,
including the terminating newline
>>
• print the output to a file
14
14
03 Program Testing