0% found this document useful (0 votes)
32 views

Python Basics Session2

The document summarizes topics covered in the second session of a Python programming course for applications of artificial intelligence. The topics discussed include: 1. Data types like tuples, indexing, boolean values, and references. 2. Control statements such as if/else, comparison operators, while and for loops. 3. Functions, including definition, parameters, return values, and optional/default parameters. The document provides code examples and explanations for common data types, control flow statements, and how to define functions in Python. It is serving as teaching material for a course on using Python for artificial intelligence and machine learning applications.

Uploaded by

riadakaad2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Python Basics Session2

The document summarizes topics covered in the second session of a Python programming course for applications of artificial intelligence. The topics discussed include: 1. Data types like tuples, indexing, boolean values, and references. 2. Control statements such as if/else, comparison operators, while and for loops. 3. Functions, including definition, parameters, return values, and optional/default parameters. The document provides code examples and explanations for common data types, control flow statements, and how to define functions in Python. It is serving as teaching material for a course on using Python for artificial intelligence and machine learning applications.

Uploaded by

riadakaad2002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

‫الجمهورية العربية السورية‬

‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬

‫ الحقيقة المعززة‬/ ‫ التعلم العميق‬/ ‫ التعلم اآللي‬/ ‫دورة لغة البايثون في مجال تطبيقات الذكاء الصنعي‬

Python Programming Language for Applications of Artificial


intelligence, Machine learning, Deep learning, and Augmented reality

Session 2 (Data types / Control Statements / Functions / Input-Output /


Exceptions / Data Types 2)

‫ علي خضور‬.‫م‬ ‫ وسام شريفة‬.‫ما‬ ‫ وسيم صافي‬.‫د‬

03/10/2023

1
‫الجمهورية العربية السورية‬
‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬

2) Data Types (ctd..) :


Tuple (Count / index / sum)
Operations on sequences:(x in s / x not in s / len / min / max)
indexing in python
Boolean Values (True / False) ( None )
References in Python (is / == )

2
‫الجمهورية العربية السورية‬
‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬
3) Control Statements:
if / else / elif / Comparison ( == , < , > , <= , >= , !=)
while loops
For loops

4) Functions:
Definition / parameters / return values /
Multiple Return Values
Optional Parameters – Default Values
Positional Parameters
Functions & Modules ( math)

3
‫الجمهورية العربية السورية‬
5- Input/Output: ‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬
String Formatting
Files (read / write / close )
with statement

6- Errors and Exceptions:


Syntax Errors, Indentation Errors
Exceptions
Handling Exceptions
Exception Objects
Raising Exceptions

7- Data Types II:


Sets / Dictionaries

4
2) Data Types:
• Tuple (Count / index / sum):
• Data type: tuple / ordered collection similar to list
• Constant list / no change of values (tuple vs. list) (tuple is faster)
• s = 1, "spam", 9.0, 42 student = (“name”,id,year)
print(s)  (1, 'spam', 9.0, 42)
• s = (1, "spam", 9.0, 42)
print(s)  (1, 'spam', 9.0, 42)
• Count appearance of an element: s.count(x)
• s = (1, "spam", 9.0, 42)
• print(s.count("spam"))
• Position of an element: s.index(x)  similar to list / Exception if not existed
• Sum of the elements: sum(s)  similar to list / Exception if different types 5
2) Data Types:
• Lists are mutable (‫)قابل للتغير‬
• Strings and tuples are immutable )‫(غير قابل للتغيير‬
• No assignment s[i] = ...
• No appending and removing of elements
• Functions like x.upper() return a new string!
• s1 = " spam "
• s2 = s1. upper ()
• print(s1)  spam
• print(s2)  SPAM

6
2) Data Types:
• Operations on sequences:(x in s / x not in s / len / min / max):
• Strings, lists and tuples have much in common: They are sequences.
Does/doesn’t s contain an element?
x in s , x not in s a= [1,2,3,[5,6]]
a= (1,2,3) print(a)
print(1 in a)  True print(max(a))  TypeError:
print(9 in a)  False '>' not supported between instances of 'list' and 'int'
print(9 not in a)  True
• print(len(a))
• print(min(a))
• print(max(a)) 7
2) Data Types:
• indexing in python: Slicing of a List

• a = "Python Kurs"
• print(a)  Python Kurs
• print(a[2]) t
• print(a[-4]) K
• print(a[-500]) print(a[500])  IndexError: string index out of range
• print(a[2:3]) t
• print(a[2:2])  print(a[3:3]) 
• print(type(a[2:2]))  <class 'str'>
• print(a[2:1]) 
• print(a[-4: -1])  Kur print(a[-1: -4]) 
• print(a[-4:])  Kurs
• print(a[:])  Python Kurss
• print(a[-6: -8: -1])  no
8
• print(a[-6: -5: -1]) 
2) Data Types:
• Boolean Values (True / False) :
• Data type bool: True , False
• Values that are evaluated to False : bool()
• None (data type NoneType )
a = None
print(bool(a))
• False print(bool(2>1))
• 0 (in every numerical data type) print(bool(0)) / print(bool(0)) vs. print(bool(0.1))
• Empty strings, lists and tuples: ‘’ , [] , ()
• Empty dictionaries: {}
• Empty sets set()

9
‫الجمهورية العربية السورية‬
‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬

‫‪3) Control Statements:‬‬


‫)=! ‪if / else / elif / Comparison ( == , < , > , <= , >= ,‬‬
‫‪while loops‬‬
‫‪For loops‬‬

‫‪10‬‬
3) Control Statements:
• if a == 3:
print (“Ok")
• Blocks are defined by indentation
• Standard: Indentation with four spaces
if a == 3: • Comparison of content: == , < , > , <= , >= , !=
print (" Three ") • And/or operator: a and b , a or b
elif a == 10:
• Chained comparison: a <= x < b , a == b == c , . . .
print (" Ten ")
elif a == -3: if a <= b <= c <= d <= 0:
print (" Minus Three ") • Negation: not a
else: if not (a==b) and (c <3):
print (" something else ") pass
11
• Hint: pass is a No Operation (NOOP) function
3) Control Statements:
• i=0
• while i < 10:
print(i)
i += 1
• break and continue work for while loops, too. Examples (Break /
Continue)
• Substitute for do-while loop:
while True :
# important code
if condition :
break
12
3) Control Statements:
• for i in range (10):
print (i) # 0, 1, 2, 3, ... , 9
• for i in range (3, 10):
print (i) # 3, 4, 5, ... , 9
• for i in range (0, 10, 2):
print (i) # 0, 2, 4, 6, 8

range(start, stop, step)

print(type(range(10)))  <class 'range'>


13
3) Control Statements:
• Iterating directly over sequences (without using an index):
for item in [" A ", " B ", " C "]:
print ( item )

• If indexes are necessary:


s=[" A ", " B ", " C "]
for (i, char ) in enumerate(s):
print(i , char)
0 A
1 B
2 C 14
‫الجمهورية العربية السورية‬
‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬

4) Functions:
Definition / parameters / return values /
Multiple Return Values
Optional Parameters – Default Values
Positional Parameters
Functions & Modules ( math)

15
4) Functions:
• def add(a, b): • Return Values and Parameters:
""" Returns the sum • Types of parameters and return values are unspecified
of a and b.""" • Functions without explicit return value return None
mysum = a + b • def hello_world ():
print(" Hello World !")
return mysum a = hello_world ()
print (a)
result = add (3, 5)
Hello World !
print ( result ) None

16
4) Functions: • Optional Parameters – Default Values:
• Multiple Return Values: • Parameters can be defined with default
• Multiple return values values.
are realized using tuples • Hint: It is not allowed to define non-
or lists: default parameters after default
• def foo (): parameters
a= 17 • def fline (x, m=1, b =0): # f(x) = m*x + b
b = 42 return m*x + b
• for i in range (5):
return (a, b) • end in print defines
print ( fline (i), end=" ")
• ret = foo() • # force newline the last character,
• (x, y) = foo () • print ()
default is linebreak
for i in range (5):
print ( fline (i , -1 ,1) , end=" ")
17
4) Functions:
• Positional Parameters:
• Parameters can be passed to a function in a different order than
specified:
• def printContact (name ,age , location ):
print (" Person : ", name )
print ("Age : ", age , " years ")
print (" Address : ", location )
• printContact ( name =" Peter Pan", location =" Neverland ", age =10)

18
4) Functions:
• Functions are Objects:
• Functions are objects and as such can be assigned and passed on:
• def foo( fkt ):
print (fkt (33))

• foo ( float )
33.0
• foo (str)
33
• foo ( complex )
(33+0 j) 19
4) Functions:
• Functions & Modules:
• Functions thematically belonging together can be stored in a separate
Python file.
• This file is called module and can be loaded in any Python script.
• Multiple modules available in the Python Standard Library
• (part of the Python installation)
• Command for loading a module: import <filename>
• (filename without ending .py)
• import math
• s = math.sin(math.pi)

20
‫الجمهورية العربية السورية‬
‫المعهد العالي للعلوم التطبيقية والتكنولوجيا‬

‫‪5- Input/Output:‬‬
‫‪String Formatting‬‬
‫) ‪Files (read / write / close‬‬
‫‪with statement‬‬

‫‪21‬‬
5) Input/Output :
• Format string + class method x.format()
• print ("The answer is {0:4d}". format (42))  ‘The answer is 42 ‘
• s = " {0}: {1:08.3f}".format(" spam ", 3.14)  ’spam : 0003.140 ’
format purpose
m.nf floating point  m filed size, n digits after the decimal point (default: 6)
(s = " {0}: {1:020.8f}".format(" spam ", 3.14))  spam : 00000000003.14000000
s = " {0}: {1:20.8f}".format(" spam ", 3.14)  spam : 3.14000000
s = " {0}: {1:020f}".format(" spam ", 3.14)  spam : 0000000000003.140000
s = " {0}: {1:05f}".format(" spam ", 3.14)  spam : 3.140000
m.ne floating point (exponential)  m filed size, 1 digit before and n digits behind the
decimal point (default: 6)
s = " {0}: {1:020.8e}".format(" spam ", 3.14)  spam : 0000003.14000000e+00

m.n% percentage: similar to format f, value 100 with finalizing ’%’


s = " {0}: {1:020.8%}".format(" spam ", 3.14)  spam : 0000000314.00000000%
md Integer number: m field size (0m )leading “0”)
s = " {0}: {1:020d}".format(" spam ", 3)  spam : 00000000000000000003 (if float number  Error)
format d can be replaced by b (binary), o (octal) or x (hexadecimal)
s = " {0}: {1:08b}".format(" spam ", 3)  spam : 00000011 22
5) Input/Output :
• Literal String Interpolation (f-strings)
• Provides a way to embed expressions inside string literals, using a minimal syntax
• Is a literal string, prefixed with ‘f’, which contains expressions inside braces
• Expressions are evaluated at runtime and replaced with their values.
• Hint: Since Python 3.6
• name = " Martin "
• age = 50
• s = f"My name is { name } and my age next year is {age +1}"
• print(s)  My name is Martin and my age next year is 51
• value = 12.345
• s =f"{ value :5.2f}"
• print(s)  12.35
23
5) Input/Output :
• Files:
• file1 = open ("spam .txt ", "r") #file1 = open("C:\Users\user\PycharmProjects\pythonProject2\test.txt", "r")
• file2 = open ("test.txt", "w") error
• Read mode: r
• Write mode (new file): w (delete file1 = open("C:\\Users\\user\\PycharmProjects\\pythonProject2\\test.txt", "r")
contents if exists)
• Write mode, appending to the end: a file1 = open(r"C:\\Users\\user\\PycharmProjects\\pythonProject2\\test.txt", "r")

• Read and write (update): r+


file1 = open("C:/Users/user/PycharmProjects/pythonProject2/test.txt", "r")
(update data starting from the first
char)
for line in file1:
print(line)
for line in file1 :
print (line )

24
5) Input/Output : for line in file1 :
print (line )
• Files:
• file1 = open ("spam .txt ", "r") • Read: f.read(size) (how many chars)
• file2 = open ("test.txt", "w")
• Read a line: f.readline()
• Read mode: r
• Write mode (new file): w (delete
• Read multiple lines: f.readlines()
contents if exists) 123456789
aaaaa
• Write mode, appending to the end: a
bbbbbbbb
• Read and write (update): r+
ccccccccc
(update data starting from the first ddddd
char)
 ['123456789\n', 'aaaaa\n', 'bbbbbbbb\n', 'ccccccccc\n', 'ddddd']

• Write: f.write(str)
• Write multiple lines: f.writelines(sequence)
• Close file: f.close() 25
5) Input/Output :
• file1 = open ("test4.txt ", "w") file1 = open ("test4.txt ", "w")
• lines = [" spam \n", " test1 \n", “AAAA\n"] lines = [" spam ", " test1 ", "AAAA"]
• file1.writelines( lines ) file1.writelines(lines)
• file1.close () file1.close()

spam spam test1 AAAA


test1
AAAA

26
5) Input/Output :
• The with statement:
• File handling (open/close) can be done by the context manager
with .
• with open (" test .txt ") as f:
for line in f:
print ( line )
• with open("test4.txt","w") as f:
for i in range(5):
f.write(str(i)+"\n")

27

You might also like