KEMBAR78
Python programming workshop | PPTX
Python Programming
Workshop
Pramote Kuacharoen
Topics
 Expressions, operators, precedence, control flows, functions
 Input/output
 List
 Classes and Objects
2
The Python Interpreter
 Python is an interpreted language
 Commands are executed through the Python interpreter
 A programmer defines a series of commands in advance and saves those
commands in a text file known as source code or a script.
 For Python, source code is conventionally stored in a file named with the .py
suffix (e.g., demo.py)
3
Writing a Simple Program
 Algorithm for calculating the area of a square
 Obtain the width from the user
 Computer the area by applying the following formula
 𝒂𝒓𝒆𝒂 = 𝒘𝒊𝒅𝒕𝒉 ∗ 𝒘𝒊𝒅𝒕𝒉
 Display the result
4
Reading Input from the Console
 Use the input function to obtain a string
 variable = input(‘Enter width : ’)
 Use the eval function to evaluate expression
 variable = eval(string_variable)
 Combination
 width = eval(input(‘Enter width : ’))
5
Calculating Square Area
width = eval(input('Enter width : '))
area = width * width
print('Area is ', area)
6
Identifiers
 Identifiers in Python are case-sensitive, so temperature and Temperature are
distinct names.
 Identifiers can be composed of almost any combination of letters, numerals,
and underscore characters.
 An identifier cannot begin with a numeral and that there are 33 specially
reserved words that cannot be used as identifiers:
7
Types
 Python is a dynamically typed language, as there is no advance declaration
associating an identifier with a particular data type.
 An identifier can be associated with any type of object, and it can later be
reassigned to another object of the same (or different) type.
 Although an identifier has no declared type, the object to which it refers has
a definite type. In our first example, the characters 98.6 are recognized as a
floating-point literal, and thus the identifier temperature is associated with
an instance of the float class having that value.
8
Numerical Data Types ad Numeric
Operators
 integer: e.g., 3, 4
 float: e.g., 3.0, 4.0
Name Meaning Example Result
+ Addition 34 + 1 35
- Subtraction 34.0 – 0.1 33.9
* Multiplication 300 * 30 9000
/ Float Division 1 / 2 0.5
// Integer Division 1 // 2 0
** Exponentiation 4 ** 0.5 2.0
% Remainder 20 % 3 2
9
Boolean Data Types
 Often in a program you need to compare two values, such as whether i is
greater than j
 There are six comparison operators (also known as relational operators) that
can be used to compare two values
 The result of the comparison is a Boolean value: true or false
Operator Name
< less than
<= less than or equal to
> greater than
>= greater than or equal to
== equal to
!= not equal to
10
String
 Sequence of characters that is treated as a single item
 Written as a sequence of characters surrounded by either single quotes (') or
double quotes (")
 Position or index of a character in a string
 Identified with one of the numbers 0, 1, 2, 3, . . . .
11
List
12
list1 = list() # Create an empty list
list2 = list([2, 3, 4]) # Create a list with elements 2, 3, 4
list3 = list(["red", "green", "blue"]) # Create a list with strings
list4 = list(range(3, 6)) # Create a list with elements 3, 4, 5
list5 = list("abcd") # Create a list with characters a, b, c
list1 = [] # Same as list()
list2 = [2, 3, 4] # Same as list([2, 3, 4])
list3 = ["red", "green"] # Same as list(["red", "green"])
append(x: object): None
insert(index: int, x: object): None
remove(x: object): None
index(x: object): int
count(x: object): int
sort(): None
reverse(): None
extend(l: list): None
pop([i]): object
List Is a Sequence Type
13
Operation Description
x in s True if element x is in sequence s
x not in s True if element x is not in sequence s
s1 + s2 Concatenates two sequences s1 and s2
s * n, n * s n copies of sequence s concatenated
s[i] ith element in sequence s
s[i : j] Slice of sequence s from index i to j - 1
len(s) Length of sequence s, i.e., the number of elements in s
min(s) Smallest element in sequence s
max(s) Largest element in sequence s
sum(s) Sum of all numbers in sequence s
for loop Traverses elements from left to right in a for loop
<, <=, >, >=, ==, != Compares two sequences
if Statement
14
if width > 0:
area = width * width
if Boolean-expression:
statement(s)
if-else Statement
15
if width > 0:
area = width * width
else:
print(‘width must be positive’)
if Boolean-expression:
statement(s) for the true case
else:
statement(s) for the false case
Multiple Alternative for if Statements
16
if score >= 90.0:
grade = 'A'
elif score >= 80.0:
grade = 'B'
elif score >= 70.0:
grade = 'C'
elif score >= 60.0:
grade = 'D'
else:
grade = 'F'
if score >= 90.0:
grade = 'A'
else:
if score >= 80.0:
grade = 'B'
else:
if score >= 70.0:
grade = 'C'
else:
if score >= 60.0:
grade = 'D'
else:
grade = 'F'
Logical Operators
17
Operator Description
not Logical negation
and Logical conjunction
or Logical disjunction
(year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
A year is a leap year if it is divisible by 4 but not by 100, or it is divisible by 400.
Conditional Operator
18
y = 1 if x > 0 else -1if x > 0:
y = 1
else:
y = -1
if num % 2 == 0:
print(str(num) + “is even”)
else:
print(str(num) + “is odd”);
print("number is even" if (number % 2 == 0)
else "number is odd")
Operator Precedence
 +, - unary
 **
 not
 *, /, //, %
 +, -
 <, <=, >, >=
 ==, !=
 and
 or
 =, +=, -=, *=, /=, //=, %= (Assignment operator)
19
Loops
20
for i in range(1, 6):
print (i)
num = 1
while num <= 5:
print(num)
num += 1
while conditions:
indented block of statements
for var in sequence:
indented block of statements
Functions
 Functions can be used to define reusable code and organize and simplify code
21
def sum_range(a, b):
result = 0
for i in range(a, b+1):
result += i
return result
def main():
print('Sum from 1 to 10 is ', sum_range(1, 10));
print('Sum from 50 to 100 is ', sum_range(50, 100));
main()
def function_name(list of parameters):
# Function body
Reading Input from Text Files
22
continent = input('Enter the name of a continent : ')
continent = continent.title()
if continent != 'Antarctica':
infile = open('UN.txt', 'r')
for line in infile:
data = line.split(',')
if data[1] == continent:
print(data[0])
else:
print('There are not countries in Antarctica.')
infile = open(‘Filename’, ‘r’)
List Comprehension
23
list1 = [x for x in range(5)]
[0, 1, 2, 3, 4]
line = input('Enter series of numbers : ')
text_numbers = line.split(' ')
numbers = [eval(num) for num in text_numbers]
Objects and Classes
 Object-oriented programming enables you to develop large-scale software
and GUIs effectively.
24
class Rectangle:
def __init__(self, width = 1, height = 2):
self._width = width
self._height = height
def area(self):
return self._width * self._height
def perimeter(self):
return 2 * (self._width * self._height)
def main():
r1 = Rectangle(10, 20)
print('The area of the rectangle is : ', r1.area())
print('The perimeter of the rectangle is : ', r1.perimeter())
main()
class ClassName:
initializer
methods

Python programming workshop

  • 1.
  • 2.
    Topics  Expressions, operators,precedence, control flows, functions  Input/output  List  Classes and Objects 2
  • 3.
    The Python Interpreter Python is an interpreted language  Commands are executed through the Python interpreter  A programmer defines a series of commands in advance and saves those commands in a text file known as source code or a script.  For Python, source code is conventionally stored in a file named with the .py suffix (e.g., demo.py) 3
  • 4.
    Writing a SimpleProgram  Algorithm for calculating the area of a square  Obtain the width from the user  Computer the area by applying the following formula  𝒂𝒓𝒆𝒂 = 𝒘𝒊𝒅𝒕𝒉 ∗ 𝒘𝒊𝒅𝒕𝒉  Display the result 4
  • 5.
    Reading Input fromthe Console  Use the input function to obtain a string  variable = input(‘Enter width : ’)  Use the eval function to evaluate expression  variable = eval(string_variable)  Combination  width = eval(input(‘Enter width : ’)) 5
  • 6.
    Calculating Square Area width= eval(input('Enter width : ')) area = width * width print('Area is ', area) 6
  • 7.
    Identifiers  Identifiers inPython are case-sensitive, so temperature and Temperature are distinct names.  Identifiers can be composed of almost any combination of letters, numerals, and underscore characters.  An identifier cannot begin with a numeral and that there are 33 specially reserved words that cannot be used as identifiers: 7
  • 8.
    Types  Python isa dynamically typed language, as there is no advance declaration associating an identifier with a particular data type.  An identifier can be associated with any type of object, and it can later be reassigned to another object of the same (or different) type.  Although an identifier has no declared type, the object to which it refers has a definite type. In our first example, the characters 98.6 are recognized as a floating-point literal, and thus the identifier temperature is associated with an instance of the float class having that value. 8
  • 9.
    Numerical Data Typesad Numeric Operators  integer: e.g., 3, 4  float: e.g., 3.0, 4.0 Name Meaning Example Result + Addition 34 + 1 35 - Subtraction 34.0 – 0.1 33.9 * Multiplication 300 * 30 9000 / Float Division 1 / 2 0.5 // Integer Division 1 // 2 0 ** Exponentiation 4 ** 0.5 2.0 % Remainder 20 % 3 2 9
  • 10.
    Boolean Data Types Often in a program you need to compare two values, such as whether i is greater than j  There are six comparison operators (also known as relational operators) that can be used to compare two values  The result of the comparison is a Boolean value: true or false Operator Name < less than <= less than or equal to > greater than >= greater than or equal to == equal to != not equal to 10
  • 11.
    String  Sequence ofcharacters that is treated as a single item  Written as a sequence of characters surrounded by either single quotes (') or double quotes (")  Position or index of a character in a string  Identified with one of the numbers 0, 1, 2, 3, . . . . 11
  • 12.
    List 12 list1 = list()# Create an empty list list2 = list([2, 3, 4]) # Create a list with elements 2, 3, 4 list3 = list(["red", "green", "blue"]) # Create a list with strings list4 = list(range(3, 6)) # Create a list with elements 3, 4, 5 list5 = list("abcd") # Create a list with characters a, b, c list1 = [] # Same as list() list2 = [2, 3, 4] # Same as list([2, 3, 4]) list3 = ["red", "green"] # Same as list(["red", "green"]) append(x: object): None insert(index: int, x: object): None remove(x: object): None index(x: object): int count(x: object): int sort(): None reverse(): None extend(l: list): None pop([i]): object
  • 13.
    List Is aSequence Type 13 Operation Description x in s True if element x is in sequence s x not in s True if element x is not in sequence s s1 + s2 Concatenates two sequences s1 and s2 s * n, n * s n copies of sequence s concatenated s[i] ith element in sequence s s[i : j] Slice of sequence s from index i to j - 1 len(s) Length of sequence s, i.e., the number of elements in s min(s) Smallest element in sequence s max(s) Largest element in sequence s sum(s) Sum of all numbers in sequence s for loop Traverses elements from left to right in a for loop <, <=, >, >=, ==, != Compares two sequences
  • 14.
    if Statement 14 if width> 0: area = width * width if Boolean-expression: statement(s)
  • 15.
    if-else Statement 15 if width> 0: area = width * width else: print(‘width must be positive’) if Boolean-expression: statement(s) for the true case else: statement(s) for the false case
  • 16.
    Multiple Alternative forif Statements 16 if score >= 90.0: grade = 'A' elif score >= 80.0: grade = 'B' elif score >= 70.0: grade = 'C' elif score >= 60.0: grade = 'D' else: grade = 'F' if score >= 90.0: grade = 'A' else: if score >= 80.0: grade = 'B' else: if score >= 70.0: grade = 'C' else: if score >= 60.0: grade = 'D' else: grade = 'F'
  • 17.
    Logical Operators 17 Operator Description notLogical negation and Logical conjunction or Logical disjunction (year % 4 == 0 and year % 100 != 0) or year % 400 == 0) A year is a leap year if it is divisible by 4 but not by 100, or it is divisible by 400.
  • 18.
    Conditional Operator 18 y =1 if x > 0 else -1if x > 0: y = 1 else: y = -1 if num % 2 == 0: print(str(num) + “is even”) else: print(str(num) + “is odd”); print("number is even" if (number % 2 == 0) else "number is odd")
  • 19.
    Operator Precedence  +,- unary  **  not  *, /, //, %  +, -  <, <=, >, >=  ==, !=  and  or  =, +=, -=, *=, /=, //=, %= (Assignment operator) 19
  • 20.
    Loops 20 for i inrange(1, 6): print (i) num = 1 while num <= 5: print(num) num += 1 while conditions: indented block of statements for var in sequence: indented block of statements
  • 21.
    Functions  Functions canbe used to define reusable code and organize and simplify code 21 def sum_range(a, b): result = 0 for i in range(a, b+1): result += i return result def main(): print('Sum from 1 to 10 is ', sum_range(1, 10)); print('Sum from 50 to 100 is ', sum_range(50, 100)); main() def function_name(list of parameters): # Function body
  • 22.
    Reading Input fromText Files 22 continent = input('Enter the name of a continent : ') continent = continent.title() if continent != 'Antarctica': infile = open('UN.txt', 'r') for line in infile: data = line.split(',') if data[1] == continent: print(data[0]) else: print('There are not countries in Antarctica.') infile = open(‘Filename’, ‘r’)
  • 23.
    List Comprehension 23 list1 =[x for x in range(5)] [0, 1, 2, 3, 4] line = input('Enter series of numbers : ') text_numbers = line.split(' ') numbers = [eval(num) for num in text_numbers]
  • 24.
    Objects and Classes Object-oriented programming enables you to develop large-scale software and GUIs effectively. 24 class Rectangle: def __init__(self, width = 1, height = 2): self._width = width self._height = height def area(self): return self._width * self._height def perimeter(self): return 2 * (self._width * self._height) def main(): r1 = Rectangle(10, 20) print('The area of the rectangle is : ', r1.area()) print('The perimeter of the rectangle is : ', r1.perimeter()) main() class ClassName: initializer methods