Intro To Python
Intro To Python
1
Welcome Python Programming
Python Installation
Anaconda download official site:
https://www.anaconda.com/download/success
3
Sep 3, 2025 Programming
Run
with some input
Write/Edit
OK?
NO
YES
YES
NO More
Inputs?
4
Sep 3, 2025 Programming
User Program
Filename, preferred extension is py
5
Sep 3, 2025 Programming
IN[1]: Python Shell Prompt
IN[2]:
User Commands
IN[3]: (Statements)
IN[4]: ( )
Outputs
7
Sep 3, 2025 Programming
input
• Take as argument a string to print as a prompt
• Returns the user typed value as a string
– details of how to process user string later
IN[1]:
IN[2]: ( )
IN[3]:
10
Sep 3, 2025 Programming
Types in Python
• Scalar
– Indivisible objects that do not have internal
structure
– int (signed integers), float (floating point), bool
(Boolean), NoneType
• NoneType is a special type with a single value
• The value is called None
• Non-Scalar
– Objects having internal structure
– str (strings)
11
Sep 3, 2025 Programming
Example of Types
12
Sep 3, 2025 Programming
Type Conversion (Type Cast)
13
Sep 3, 2025 Programming
Type Conversion Examples
Note that float to int conversion
is truncation, not rounding off
14
Sep 3, 2025 Programming
Type Conversion and Input
15
Sep 3, 2025 Programming
Operators
• Arithmetic + - * // / % **
16
Sep 3, 2025 Programming
Variables
• A name associated with an m
object 64
• Assignment used for binding Acads
m = 64; c
3.1416
c = ‘Acads’;
f = 3.1416; f
18
Sep 3, 2025 Programming
Multiple Assignments
• Python allows multiple assignments
x, y = 10, 20 Binds x to 10 and y to 20
20
09/03/2025 Programming
Binary Operations
Op Meaning Example Remarks
+ Addition 9+2 is 11
9.1+2.0 is 11.1
- Subtraction 9-2 is 7
9.1-2.0 is 7.1
* Multiplication 9*2 is 18
9.1*2.0 is 18.2
/ Division 9/2 is 4.25 In Python3
9.1/2.0 is 4.55 Real div.
// Integer Division 9//2 is 4
% Remainder 9%2 is 1
21
09/03/2025 Programming
The // operator
• Also referred to as “integer division”
• Result is a whole integer (floor of real
division)
– But the type need not be int
– the integral part of the real division
– rounded towards minus infinity
• Examples
9//4 is 2 (-1)//2 is -1 (-1)//(-2) is 0
1//2 is 0 1//(-2) is -1 9//4.5 is 2.0
22
09/03/2025 Programming
The % operator
• The remainder operator % returns the
remainder of the result of dividing its
first operand by its second.
9%4 is 1 (-1)%2 is 1 (-1)//(-2) is 0
9%4.5 is 0.0 1%(-2) is 1 1%0.6 is 0.4
Ideally: x == (x//y)*y + x %y
23
09/03/2025 Programming
Conditional Statements
• In daily routine
– If it is very hot, I will skip
exercise.
– If there is a quiz tomorrow, I will
first study and then sleep.
Otherwise I will sleep now.
– If I have to buy coffee, I will
go left. Else I will go
straight. 24
Sep 3, 2025 Programming
if-else statement
• Compare two integers and print the min.
25
Sep 3, 2025 Programming
Indentation
• Indentation is important in Python
– grouping of statement (block of statements)
– no explicit brackets, e.g. { }, to group statements
x,y = 6,10 Run
x the program
y
if x < y: 6 10
print (x)
else:
print (y) ed Output
i p p
sk the min’)
print (‘is 6 26
Sep 3, 2025 Programming
if statement (no else!)
• General form of the if statement
e
if boolean-expr : tru
fals
e
S1
S1
S2
• Execution of if statement S2
– First the expression is evaluated.
– If it evaluates to a true value, then S1 is
executed and then control moves to the S2.
– If expression evaluates to false, then control
moves to the S2 directly.
27
Sep 3, 2025 Programming
if-else statement
• General form of the if-else statement
if boolean-expr : rt u
e
fa
S1
ls
e
else: S1 S2
S2
S3 S3
• Execution of if-else statement
– First the expression is evaluated.
– If it evaluates to a true value, then S1 is executed and
then control moves to S3.
– If expression evaluates to false, then S2 is executed
and then control moves to S3.
– S1/S2 can be blocks of statements! 28
Sep 3, 2025 Programming
Nested if, if-else
if a <= b:
if a <= c:
…
else:
…
else:
if b <= c) :
…
else:
… 29
Sep 3, 2025 Programming
Elif
• A special kind of nesting is the chain of if-
else-if-else-… statements
• Can be written elegantly using if-elif-..-else
if cond1: if cond1:
s1 s1
else: elif cond2:
if cond2: s2
s2 elif cond3:
else: s3
if cond3: elif …
s3 else
else: last-block-of-stmt
…
30
Sep 3, 2025 Programming
Summary of if, if-else
• if-else, nested if's, elif.
• Multiple ways to solve a problem
–issues of readability,
maintainability
–and efficiency
31
Sep 3, 2025 Programming
Class Quiz
• What is the value of expression:
(5<2) and (3/0 > 1)
c) False
The correct answer is
False
d) True
32
Sep 3, 2025 Programming
Short-circuit Evaluation
• Do not evaluate the second operand of binary
short-circuit logical operator if the result can be
deduced from the first operand
– Also applies to nested logical operators
36
Sep 3, 2025 Programming
Caution about Using Floats
• The value stored internally for the decimal
number 0.1 is the binary fraction
0.00011001100110011001100110011001100110011001100110011010
38
Sep 3, 2025 Programming
Programming using Python
Loops
39
Sep 3, 2025 Python Programming
Printing Multiplication Table
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
5 X 10 = 50
40
Sep 3, 2025 Python Programming
Program…
n = int(input('Enter a number:
Too much'))
print (n, 'X', 1, '=', n*1)
repetition!
print (n, 'X', 2, '=', n*2)
Can I avoid
print (n, 'X', 3, '=', n*3) it?
print (n, 'X', 4, '=', n*4)
print (n, 'X', 5, '=', n*5)
print (n, 'X', 6, '=', n*6)
….
41
Sep 3, 2025 Python Programming
Printing Multiplication Table
Loop Exit
i <=10
TRUE FALSE
Loop 42
Sep 3, 2025 Python Programming
Printing Multiplication Table
Input n
i=1
TRUE
i <=10
FALSE n = int(input('n=? '))
i=1
Print n x i = ni Stop
i = i+1
43
Sep 3, 2025 Python Programming
While Statement
while (expression):
S1 expression
FALSE
S2
TRUE
S1 S2
1. Evaluate expression
2. If TRUE then
a) execute statement1
b) goto step 1.
3. If FALSE then execute statement2.
44
Sep 3, 2025 Python Programming
For Loop
• Print the sum of the reciprocals of the
first 100 natural numbers.
46
Sep 3, 2025 Python Programming
range
• range(s, e, d)
– generates the list:
[s, s+d, s+2*d, …, s+k*d]
where s+k*d < e <= s+(k+1)*d
• range(s, e) is equivalent to range(s, e, 1)
• range(e) is equivalent to range(0, e)
Exercise: What if d is negative? Use python
interpreter to find out. 47
Sep 3, 2025 Python Programming
Quiz
• What will be the output of the following
program
S T R I NGS
T UP L E S
L I S T S
50
Sep 3, 2025 Programming
Strings
• Strings in Python have type str
• They represent sequence of characters
– Python does not have a type corresponding to
character.
• Strings are enclosed in single quotes(') or
double quotes(“)
– Both are equivalent
• Backslash (\) is used to escape quotes and
special characters
51
Sep 3, 2025 Programming
Strings
52
Sep 3, 2025 Programming
Length of a String
• len function gives the length of a string
\n is a single character:
the special character
representing newline 53
Sep 3, 2025 Programming
Concatenate and Repeat
• In Python, + and * operations have special
meaning when operating on strings
• + is used for concatenation of (two) strings
• * is used to repeat a string, an int number of
time
• Function/Operator Overloading
54
Sep 3, 2025 Programming
Concatenate and Repeat
55
Sep 3, 2025 Programming
Indexing
• Strings can be indexed
• First character has index 0
56
Sep 3, 2025 Programming
Indexing
• Negative indices start counting from the right
• Negatives indices start from -1
• -1 means last, -2 second last, ...
57
Sep 3, 2025 Programming
Indexing
• Using an index that is too large or too small
results in “index out of range” error
58
Sep 3, 2025 Programming
Slicing
• To obtain a substring
• s[start:end] means substring of s starting at
index start and ending at index end-1
• s[0:len(s)] is same as s
• Both start and end are optional
– If start is omitted, it defaults to 0
– If end is omitted, it defaults to the length of string
• s[:] is same as s[0:len(s)], that is same as s
59
Sep 3, 2025 Programming
Slicing
60
Sep 3, 2025 Programming
More Slicing
62
Sep 3, 2025 Programming
Tuples
• A tuple consists of a number of values
separated by commas
63
Sep 3, 2025 Programming
Nested Tuples
• Tuples can be nested
64
Sep 3, 2025 Programming
Length of a Tuple
• len function gives the length of a tuple
65
Sep 3, 2025 Programming
More Operations on Tuples
• Tuples can be concatenated, repeated,
indexed and sliced
66
Sep 3, 2025 Programming
Unpacking Sequences
• Strings and Tuples are examples of sequences
– Indexing, slicing, concatenation, repetition
operations applicable on sequences
• Sequence Unpacking operation can be applied
to sequences to get the components
– Multiple assignment statement
– LHS and RHS must have equal length
67
Sep 3, 2025 Programming
Unpacking Sequences
( )
68
Sep 3, 2025 Programming
Lists
• Ordered sequence of values
• Written as a sequence of comma-separated
values between square brackets
• Values can be of different types
– usually the items all have the same type
69
Sep 3, 2025 Programming
Lists
• List is also a sequence type
– Sequence operations are applicable
70
Sep 3, 2025 Programming
Lists
• List is also a sequence type
– Sequence operations are applicable
Repetition
( )
71
Sep 3, 2025 Programming
More Operations on Lists
• L.append(x) • L.pop()
• L.extend(seq) • L.index(x)
• L.insert(i, x) • L.count(x)
• L.remove(x) • L.sort()
• L.pop(i) • L.reverse()
x is any value, seq is a sequence value (list, string, tuple, …),
i is an integer value
72
Sep 3, 2025 Programming
Mutable and Immutable Types
• Tuples and List types look very similar
• However, there is one major difference: Lists
are mutable
– Contents of a list can be modified
• Tuples and Strings are immutable
– Contents can not be modified
73
Sep 3, 2025 Programming
Summary of Sequences
Operation Meaning
seq[i] i-th element of the sequence
len(seq) Length of the sequence
seq1 + seq2 Concatenate the two sequences
num*seq
seq*num Repeat seq num times
75
Sep 3, 2025 Programming
Programming with Python
76
Sep 3, 2025 Esc101, Strings
Sets
• An unordered collection with no duplicate
elements
• Supports
– membership testing
– eliminating duplicate entries
– Set operations: union, intersection, difference, and
symmetric difference.
77
Sep 3, 2025 Programming
Sets
{ }
78
Sep 3, 2025 Programming
Set Operations
{ }
{ }
{ }
{ }
{ }
79
Sep 3, 2025 Programming
Dictionaries
• Unordered set of key:value pairs,
• Keys have to be unique and immutable
• Key:value pairs enclosed inside curly braces
{...}
• Empty dictionary is created by writing {}
• Dictionaries are mutable
– add new key:value pairs,
– change the pairing
– delete a key (and associated value) 80
Sep 3, 2025 Programming
Operations on Dictionaries
Operation Meaning
len(d) Number of key:value pairs in d
d.keys() List containing the keys in d
d.values() List containing the values in d
k in d True if key k is in d
d[k] Value associated with key k in d
d.get(k, v) If k is present in d, then d[k] else v
d[k] = v Map the value v to key k in d
(replace d[k] if present)
del d[k] Remove key k (and associated value) from d
for k in d Iterate over the keys in d
81
Sep 3, 2025 Programming
Operations on Dictionaries
82
Sep 3, 2025 Programming
Operations on Dictionaries
83
Sep 3, 2025 Programming
Operations on Dictionaries
84
Sep 3, 2025 Programming
Dictionary Construction
• The dict constructor: builds dictionaries
directly from sequences of key-value pairs
85
Sep 3, 2025 Esc101, Strings
Programming with Python
File I/O
86
Sep 3, 2025 Programming
File I/O
• Files are persistent storage
• Allow data to be stored beyond program
lifetime
• The basic operations on files are
– open, close, read, write
• Python treat files as sequence of lines
– sequence operations work for the data read from
files
87
Sep 3, 2025 Programming
File I/O: open and close
open(filename, mode)
• While opening a file, you need to supply
– The name of the file, including the path
– The mode in which you want to open a file
– Common modes are r (read), w (write), a (append)
• Mode is optional, defaults to r
• open(..) returns a file object
• close() on the file object closes the file
– finishes any buffered operations
88
Sep 3, 2025 Programming
File I/O: Example
• Do some writing
• How to do it?
• see the next few slides
89
Sep 3, 2025 Programming
File I/O: read, write and append
• Reading from an open file returns the
contents of the file
– as sequence of lines in the program
• Writing to a file
– IMPORTANT: If opened with mode 'w', clears the
existing contents of the file
– Use append mode ('a') to preserve the contents
– Writing happens at the end
90
Sep 3, 2025 Programming
File I/O: Examples
91
Sep 3, 2025 Programming
File I/O: Examples
( )
( )
92
Sep 3, 2025 Programming
File I/O: Examples
( )
93
Sep 3, 2025 Programming
File I/O: Examples
Note the use of for ... in
for sequence
( )
]
94
Sep 3, 2025 Programming
File I/O: Examples
( )
( )
( )
95
Sep 3, 2025 Programming