SlideShare a Scribd company logo
Vision: To make this institution the unique of its kind in the field of Research and Development
in this part of world.
Mission: To impart highly innovative and technical knowledge to the urban and unreachable rural
student folks through TOTAL QUALITY EDUCATION.
Quality Policy: Kamaraj College of Engineering and Technology committed to impart Quality
Technical Education imbibed with proficiency, human values and continual improvement.
DEPARTMENT OF COMPUTER SCIENCE ENGINEERING
&
DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING
organise
“TECHSHOW '19”
for +2 School Students on 30.11.2019
Notes for
PYTHON PROGRAMMING
Sequence Containers Indexing
Base Types
Python 3 Cheat Sheet©2012-2015 - Laurent Pointal
License Creative Commons Attribution 4
Latest version on :
https://perso.limsi.fr/pointal/python:memento
0783 -192int
9.23 -1.7e-60.0float
True Falsebool
"OnenTwo"
'I'm'
str
"""XtYtZ
1t2t3"""
×10
-6
escaped tab
escaped new line
Multiline string:
Container Types
list [1,5,9] ["x",11,8.9] ["mot"] []
tuple (1,5,9) 11,"y",7.4 ("mot",) ()
dict
{1:"one",3:"three",2:"two",3.14:"π"}
{"key":"value"}
set
{}
{1,9,3,0}
◾ ordered sequences, fast index access, repeatable values
set()
◾ key containers, no a priori order, fast key access, each key is unique
{"key1","key2"}
Non modifiable values (immutables)
Variables assignment
x=1.2+8+sin(y)
y,z,r=9.2,-7.6,0
a…zA…Z_ followed by a…zA…Z_0…9
◽ diacritics allowed but should be avoided
◽ language keywords forbidden
◽ lower/UPPER case discrimination
☝ expression with only comas →tuple
dictionary
collection
integer, float, boolean, string, bytes
Identifiers
☺ a toto x7 y_max BigOne
☹ 8y and for
x+=3
x-=2
increment ⇔ x=x+3
decrement ⇔ x=x-2
Conversions
for lists, tuples, strings, bytes…
int("15") → 15
int("3f",16) → 63 can specify integer number base in 2nd
parameter
int(15.56) → 15 truncate decimal part
float("-11.24e8") → -1124000000.0
round(15.56,1)→ 15.6 rounding to 1 decimal (0 decimal → integer number)
bool(x) False for null x, empty container x , None or False x ; True for other x
str(x)→ "…" representation string of x for display (cf. formatting on the back)
chr(64)→'@' ord('@')→64 code ↔ char
repr(x)→ "…" literal representation string of x
bytes([72,9,64]) → b'Ht@'
list("abc") → ['a','b','c']
dict([(3,"three"),(1,"one")]) → {1:'one',3:'three'}
set(["one","two"]) → {'one','two'}
separator str and sequence of str → assembled str
':'.join(['toto','12','pswd']) → 'toto:12:pswd'
str splitted on whitespaces → list of str
"words with spaces".split() → ['words','with','spaces']
str splitted on separator str → list of str
"1,4,8,2".split(",") → ['1','4','8','2']
sequence of one type → list of another type (via list comprehension)
[int(x) for x in ('1','29','-3')] → [1,29,-3]
type(expression)
lst=[10, 20, 30, 40, 50]
lst[1]→20
lst[-2]→40
0 1 2 3 4
-5 -4 -3 -1-2 Individual access to items via lst[index]
positive index
negative index
0 1 2 3 54
-5 -4 -3 -1-2negative slice
positive slice
Access to sub-sequences via lst[start slice:end slice:step]
len(lst)→5
lst[1:3]→[20,30]
lst[::2]→[10,30,50]
lst[-3:-1]→[30,40]
lst[:3]→[10,20,30]lst[:-1]→[10,20,30,40]
lst[3:]→[40,50]lst[1:-1]→[20,30,40]
lst[:]→[10,20,30,40,50]
Missing slice indication → from start / up to end.
On mutable sequences (list), remove with del lst[3:5] and modify with assignment lst[1:4]=[15,25]
Conditional Statement
if age<=18:
state="Kid"
elif age>65:
state="Retired"
else:
state="Active"
Boolean Logic Statements Blocks
parent statement:
statement block 1…
⁝
parent statement:
statement block2…
⁝
next statement after block 1
indentation !
Comparisons : < > <= >= == !=
≠=≥≤
a and b
a or b
not a
logical and
logical or
logical not
one or other
or both
both simulta-
-neously
if logical condition:
statements block
statement block executed only
if a condition is true
Can go with several elif, elif... and only one
final else. Only the block of first true
condition is executed.
lst[-1]→50
lst[0]→10
⇒ last one
⇒ first one
x=None « undefined » constant value
Maths
Operators: + - * / // % **
× ÷
integer ÷ ÷ remainder
ab
from math import sin,pi…
sin(pi/4)→0.707…
cos(2*pi/3)→-0.4999…
sqrt(81)→9.0 √
log(e**2)→2.0
ceil(12.5)→13
floor(12.5)→12
escaped '
☝ floating numbers… approximated values angles in radians
(1+5.3)*2→12.6
abs(-3.2)→3.2
round(3.57,1)→3.6
pow(4,3)→64.0
for variables, functions,
modules, classes… names
Mémento v2.0.6
str (ordered sequences of chars / bytes)
(key/value associations)
☝ pitfall : and and or return value of a or
of b (under shortcut evaluation).
⇒ ensure that a and b are booleans.
(boolean results)
a=b=c=0 assignment to same value
multiple assignments
a,b=b,a values swap
a,*b=seq
*a,b=seq
unpacking of sequence in
item and list
bytes
bytes
b"totoxfe775"
hexadecimal octal
0b010 0xF30o642
binary octal hexa
""
empty
dict(a=3,b=4,k="v")
Items count
☝ keys=hashable values (base types, immutables…)
True
False True and False constants ☝ configure editor to insert 4 spaces in
place of an indentation tab.
lst[::-1]→[50,40,30,20,10]
lst[::-2]→[50,30,10]
1) evaluation of right side expression value
2) assignment in order with left side names
=
☝ assignment ⇔ binding of a name with a value
☝ immutables
On mutable sequences (list), remove with
del lst[3] and modify with assignment
lst[4]=25
del x remove name x
b""
@ → matrix × python3.5+numpy
☝ index from 0
(here from 0 to 4)
frozenset immutable set
Priority (…)
☝ usual order of operations
modules math, statistics, random,
decimal, fractions, numpy, etc. (cf. doc)
Modules/Names Imports
from monmod import nom1,nom2 as fct
module truc⇔file truc.py
→direct access to names, renaming with as
import monmod →access via monmod.nom1 …
☝ modules and packages searched in python path (cf sys.path)
?
yes
no
shallow copy of sequence
?
yes no
and
*=
/=
%=
…
☝ with a var x:
if bool(x)==True: ⇔ if x:
if bool(x)==False: ⇔ if not x:
raise ExcClass(…)
Signaling an error:
Errors processing:
try:
normal procesising block
except Exception as e:
error processing block
normal
processing
error
processing
error
processing
raiseraise X()
zero
☝ finally block for final processing
in all cases.
Exceptions on Errors
"modele{} {} {}".format(x,y,r)
"{selection:formatting!conversion}"
◽ Selection :
2
nom
0.nom
4[key]
0[2]
str
Displayprint("v=",3,"cm :",x,",",y+4)
print options:
◽ sep=" " items separator, default space
◽ end="n" end of print, default new line
◽ file=sys.stdout print to file, default standard output
items to display : literal values, variables, expressions
loop on dict/set ⇔ loop on keys sequences
use slices to loop on a subset of a sequence
Conditional Loop Statementstatements block executed as long as
condition is true
while logical condition:
statements block
s = 0
i = 1
while i <= 100:
s = s + i**2
i = i + 1
print("sum:",s)
initializations before the loop
condition with a least one variable value (here i)
s= ∑
i=1
i=100
i2
☝ make condition variable change !
statements block executed for each
item of a container or iterator
for var in sequence:
statements block
s = "Some text"
cnt = 0
for c in s:
if c == "e":
cnt = cnt + 1
print("found",cnt,"'e'")
Go over sequence's values
Algo: count
number of e
in the string.
Go over sequence's index
◽ modify item at index
◽ access items around index (before / after)
lst = [11,18,9,12,23,4,17]
lost = []
for idx in range(len(lst)):
val = lst[idx]
if val > 15:
lost.append(val)
lst[idx] = 15
print("modif:",lst,"-lost:",lost)
Algo: limit values greater
than 15, memorizing
of lost values.
☝bewareofinfiniteloops!
initializations before the loop
loop variable, assignment managed by for statement
values to formatformating directives
Integer Sequences
Files
s = input("Instructions:")
☝ input always returns a string, convert it to required type
(cf. boxed Conversions on the other side).
range(5)→ 0 1 2 3 4 range(2,12,3)→ 2 5 8 11
range(3,8)→ 3 4 5 6 7 range(20,5,-5)→ 20 15 10
range(len(seq))→ sequence of index of values in seq
☝ range provides an immutable sequence of int constructed as needed
range([start,] end [,step])
f = open("file.txt","w",encoding="utf8")
storing data on disk, and reading it back
opening mode
◽ 'r' read
◽ 'w' write
◽ 'a' append
◽ …'+' 'x' 'b' 't'
encoding of
chars for text
files:
utf8 ascii
latin1 …
name of file
on disk
(+path…)
file variable
for operations
f.write("coucou")
f.writelines(list of lines)
writing reading
f.read([n]) → next chars
if n not specified, read up to end !
f.readlines([n]) → list of next lines
f.readline() → next line
with open(…) as f:
for line in f :
# processing ofline
cf. modules os, os.path and pathlib
f.close() ☝ dont forget to close the file after use !
Very common: opening with a guarded block
(automatic closing) and reading loop on lines
of a text file:
Function Definition
def fct(x,y,z):
"""documentation"""
# statements block, res computation, etc.
return res
function name (identifier)
result value of the call, if no computed
result to return: return None
☝ parameters and all
variables of this block exist only in the block and during the function
call (think of a “black box”)
named parameters
Function Callr = fct(3,i+2,2*i)
☝ read empty string if end of file
len(c)→ items count
min(c) max(c) sum(c)
sorted(c)→ list sorted copy
val in c → boolean, membership operator in (absence not in)
enumerate(c)→ iterator on (index, value)
zip(c1,c2…)→ iterator on tuples containing ci
items at same index
all(c)→ True if all c items evaluated to true, else False
any(c)→ True if at least one item of c evaluated true, else False
☝ modify original list
lst.append(val) add item at end
lst.extend(seq) add sequence of items at end
lst.insert(idx,val) insert item at index
lst.remove(val) remove first item with value val
lst.pop([idx])→value remove & return item at index idx (default last)
lst.sort() lst.reverse() sort / reverse liste in place
"{:+2.3f}".format(45.72793)
→'+45.728'
"{1:>10s}".format(8,"toto")
→' toto'
"{x!r}".format(x="I'm")
→'"I'm"'
☝ start default 0, end not included in sequence, step signed, default 1
◽ Conversion : s (readable text) or r (literal representation)
< > ^ = 0 at start for filling with 0
integer: b binary, c char, d decimal (default), o octal, x or X hexa…
float: e or E exponential, f or F fixed point, g or G appropriate (default), 
string: s … % percent
◽ Formatting :
fill char alignment sign mini width.precision~maxwidth type
+ - space
Operations on Dictionaries Operations on Sets
Operators:
| → union (vertical bar char)
& → intersection
- ^ → difference/symmetric diff.
< <= > >= → inclusion relations
Operators also exist as methods.
d.update(d2) update/add
associations
Note: For dictionaries and sets, these
operations use keys.
Specific to ordered sequences containers (lists, tuples, strings, bytes…)
reversed(c)→ inversed iterator c*5→ duplicate c+c2→ concatenate
c.index(val)→ position c.count(val)→ events count
Operations on Lists
d[key]=value
d[key]→ value
d.keys()
d.values()
d.items()
d.clear()
del d[key]
→iterable views on
keys/values/associations
Examples
d.pop(key[,default])→ value
d.popitem()→ (key,value)
d.get(key[,default])→ value
d.setdefault(key[,default])→value
s.update(s2) s.copy()
s.add(key) s.remove(key)
s.discard(key) s.clear()
s.pop()
Loop Control
Go simultaneously over sequence's index and values:
for idx,val in enumerate(lst):
☝goodhabit :don'tmodifyloopvariable
Advanced: def fct(x,y,z,*args,a=3,b=5,**kwargs):
*args variable positional arguments (→tuple), default values,
**kwargs variable named arguments (→dict)
one argument per
parameter
storage/use of
returned value
Algo:
f.flush() write cache
f.tell()→position
reading/writing progress sequentially in the file, modifiable with:
f.seek(position[,origin])
f.truncate([size]) resize
Advanced:
*sequence
**dict
s.startswith(prefix[,start[,end]])
s.endswith(suffix[,start[,end]]) s.strip([chars])
s.count(sub[,start[,end]]) s.partition(sep)→ (before,sep,after)
s.index(sub[,start[,end]]) s.find(sub[,start[,end]])
s.is…() tests on chars categories (ex. s.isalpha())
s.upper() s.lower() s.title() s.swapcase()
s.casefold() s.capitalize() s.center([width,fill])
s.ljust([width,fill]) s.rjust([width,fill]) s.zfill([width])
s.encode(encoding) s.split([sep]) s.join(seq)
?
yes
no
next
finish
…
Input
import copy
copy.copy(c)→ shallow copy of container
copy.deepcopy(c)→ deep copy of container
☝ this is the use of function
name with parentheses
which does the call
fct()
fct
fct
☝ text mode t by default (read/write str), possible binary
mode b (read/write bytes). Convert from/to required type !
break immediate exit
continue next iteration
☝ else block for normal
loop exit.
Iterative Loop Statement
Operations on Strings
Formatting
Generic Operations on Containers
Ad

More Related Content

What's hot (20)

Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
DevOpsGroup
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandas
Piyush rai
 
Introduction to kotlin coroutines
Introduction to kotlin coroutinesIntroduction to kotlin coroutines
Introduction to kotlin coroutines
NAVER Engineering
 
Clickhouse at Cloudflare. By Marek Vavrusa
Clickhouse at Cloudflare. By Marek VavrusaClickhouse at Cloudflare. By Marek Vavrusa
Clickhouse at Cloudflare. By Marek Vavrusa
Altinity Ltd
 
Deep Generative Models
Deep Generative ModelsDeep Generative Models
Deep Generative Models
Mijung Kim
 
Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python
Jean Carlo Machado
 
Functional programming
Functional programmingFunctional programming
Functional programming
Lhouceine OUHAMZA
 
python-ppt.ppt
python-ppt.pptpython-ppt.ppt
python-ppt.ppt
MohammadSamiuddin10
 
Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1
Dan Dascalescu
 
Introduction to Recursion (Python)
Introduction to Recursion (Python)Introduction to Recursion (Python)
Introduction to Recursion (Python)
Thai Pangsakulyanont
 
Python ppt
Python pptPython ppt
Python ppt
Rachit Bhargava
 
Data Analysis with Python Pandas
Data Analysis with Python PandasData Analysis with Python Pandas
Data Analysis with Python Pandas
Neeru Mittal
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
Anurag Patel
 
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Edureka!
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
Object oriented programming in python
Object oriented programming in pythonObject oriented programming in python
Object oriented programming in python
baabtra.com - No. 1 supplier of quality freshers
 
Python pandas tutorial
Python pandas tutorialPython pandas tutorial
Python pandas tutorial
HarikaReddy115
 
Kotlin - Better Java
Kotlin - Better JavaKotlin - Better Java
Kotlin - Better Java
Dariusz Lorenc
 
Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)
PyData
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
Sungbin Lim
 
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
DevOpsGroup
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandas
Piyush rai
 
Introduction to kotlin coroutines
Introduction to kotlin coroutinesIntroduction to kotlin coroutines
Introduction to kotlin coroutines
NAVER Engineering
 
Clickhouse at Cloudflare. By Marek Vavrusa
Clickhouse at Cloudflare. By Marek VavrusaClickhouse at Cloudflare. By Marek Vavrusa
Clickhouse at Cloudflare. By Marek Vavrusa
Altinity Ltd
 
Deep Generative Models
Deep Generative ModelsDeep Generative Models
Deep Generative Models
Mijung Kim
 
Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python Domain Driven Design Made Functional with Python
Domain Driven Design Made Functional with Python
Jean Carlo Machado
 
Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1
Dan Dascalescu
 
Introduction to Recursion (Python)
Introduction to Recursion (Python)Introduction to Recursion (Python)
Introduction to Recursion (Python)
Thai Pangsakulyanont
 
Data Analysis with Python Pandas
Data Analysis with Python PandasData Analysis with Python Pandas
Data Analysis with Python Pandas
Neeru Mittal
 
Workshop: Learning Elasticsearch
Workshop: Learning ElasticsearchWorkshop: Learning Elasticsearch
Workshop: Learning Elasticsearch
Anurag Patel
 
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Edureka!
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
NAVER D2
 
Python pandas tutorial
Python pandas tutorialPython pandas tutorial
Python pandas tutorial
HarikaReddy115
 
Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)
PyData
 
Wasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 IWasserstein GAN 수학 이해하기 I
Wasserstein GAN 수학 이해하기 I
Sungbin Lim
 

Similar to Python Cheat Sheet (20)

Introduction to python cheat sheet for all
Introduction to python cheat sheet for allIntroduction to python cheat sheet for all
Introduction to python cheat sheet for all
shwetakushwaha45
 
Python_ 3 CheatSheet
Python_ 3 CheatSheetPython_ 3 CheatSheet
Python_ 3 CheatSheet
Dr. Volkan OBAN
 
Python3 cheatsheet
Python3 cheatsheetPython3 cheatsheet
Python3 cheatsheet
Gil Cohen
 
Mementopython3 english
Mementopython3 englishMementopython3 english
Mementopython3 english
yassminkhaldi1
 
Mementopython3 english
Mementopython3 englishMementopython3 english
Mementopython3 english
ssuser442080
 
Python3
Python3Python3
Python3
Sourodip Kundu
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)
Saifur Rahman
 
python language programming presentation
python language  programming presentationpython language  programming presentation
python language programming presentation
lbisht2
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
Utkarsh Sengar
 
Python Programming Strings
Python Programming StringsPython Programming Strings
Python Programming Strings
Sreedhar Chowdam
 
Python 2.5 reference card (2009)
Python 2.5 reference card (2009)Python 2.5 reference card (2009)
Python 2.5 reference card (2009)
gekiaruj
 
funadamentals of python programming language (right from scratch)
funadamentals of python programming language (right from scratch)funadamentals of python programming language (right from scratch)
funadamentals of python programming language (right from scratch)
MdFurquan7
 
Os Vanrossum
Os VanrossumOs Vanrossum
Os Vanrossum
oscon2007
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
UC San Diego
 
lecture5.ppt
lecture5.pptlecture5.ppt
lecture5.ppt
KarthiKeyan462713
 
Strinng Classes in c++
Strinng Classes in c++Strinng Classes in c++
Strinng Classes in c++
Vikash Dhal
 
Data import-cheatsheet
Data import-cheatsheetData import-cheatsheet
Data import-cheatsheet
Dieudonne Nahigombeye
 
An overview of Python 2.7
An overview of Python 2.7An overview of Python 2.7
An overview of Python 2.7
decoupled
 
A tour of Python
A tour of PythonA tour of Python
A tour of Python
Aleksandar Veselinovic
 
lecture 5 string in c++ explaination and example.ppt
lecture 5 string in c++ explaination and example.pptlecture 5 string in c++ explaination and example.ppt
lecture 5 string in c++ explaination and example.ppt
MUhammadMiladAwan
 
Introduction to python cheat sheet for all
Introduction to python cheat sheet for allIntroduction to python cheat sheet for all
Introduction to python cheat sheet for all
shwetakushwaha45
 
Python3 cheatsheet
Python3 cheatsheetPython3 cheatsheet
Python3 cheatsheet
Gil Cohen
 
Mementopython3 english
Mementopython3 englishMementopython3 english
Mementopython3 english
yassminkhaldi1
 
Mementopython3 english
Mementopython3 englishMementopython3 english
Mementopython3 english
ssuser442080
 
C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)C cheat sheet for varsity (extreme edition)
C cheat sheet for varsity (extreme edition)
Saifur Rahman
 
python language programming presentation
python language  programming presentationpython language  programming presentation
python language programming presentation
lbisht2
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
Utkarsh Sengar
 
Python Programming Strings
Python Programming StringsPython Programming Strings
Python Programming Strings
Sreedhar Chowdam
 
Python 2.5 reference card (2009)
Python 2.5 reference card (2009)Python 2.5 reference card (2009)
Python 2.5 reference card (2009)
gekiaruj
 
funadamentals of python programming language (right from scratch)
funadamentals of python programming language (right from scratch)funadamentals of python programming language (right from scratch)
funadamentals of python programming language (right from scratch)
MdFurquan7
 
Os Vanrossum
Os VanrossumOs Vanrossum
Os Vanrossum
oscon2007
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
UC San Diego
 
Strinng Classes in c++
Strinng Classes in c++Strinng Classes in c++
Strinng Classes in c++
Vikash Dhal
 
An overview of Python 2.7
An overview of Python 2.7An overview of Python 2.7
An overview of Python 2.7
decoupled
 
lecture 5 string in c++ explaination and example.ppt
lecture 5 string in c++ explaination and example.pptlecture 5 string in c++ explaination and example.ppt
lecture 5 string in c++ explaination and example.ppt
MUhammadMiladAwan
 
Ad

Recently uploaded (20)

One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
How to track Cost and Revenue using Analytic Accounts in odoo Accounting, App...
Celine George
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
milanasargsyan5
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
Social Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy StudentsSocial Problem-Unemployment .pptx notes for Physiotherapy Students
Social Problem-Unemployment .pptx notes for Physiotherapy Students
DrNidhiAgarwal
 
Ad

Python Cheat Sheet

  • 1. Vision: To make this institution the unique of its kind in the field of Research and Development in this part of world. Mission: To impart highly innovative and technical knowledge to the urban and unreachable rural student folks through TOTAL QUALITY EDUCATION. Quality Policy: Kamaraj College of Engineering and Technology committed to impart Quality Technical Education imbibed with proficiency, human values and continual improvement. DEPARTMENT OF COMPUTER SCIENCE ENGINEERING & DEPARTMENT OF ELECTRONICS AND INSTRUMENTATION ENGINEERING organise “TECHSHOW '19” for +2 School Students on 30.11.2019 Notes for PYTHON PROGRAMMING
  • 2. Sequence Containers Indexing Base Types Python 3 Cheat Sheet©2012-2015 - Laurent Pointal License Creative Commons Attribution 4 Latest version on : https://perso.limsi.fr/pointal/python:memento 0783 -192int 9.23 -1.7e-60.0float True Falsebool "OnenTwo" 'I'm' str """XtYtZ 1t2t3""" ×10 -6 escaped tab escaped new line Multiline string: Container Types list [1,5,9] ["x",11,8.9] ["mot"] [] tuple (1,5,9) 11,"y",7.4 ("mot",) () dict {1:"one",3:"three",2:"two",3.14:"π"} {"key":"value"} set {} {1,9,3,0} ◾ ordered sequences, fast index access, repeatable values set() ◾ key containers, no a priori order, fast key access, each key is unique {"key1","key2"} Non modifiable values (immutables) Variables assignment x=1.2+8+sin(y) y,z,r=9.2,-7.6,0 a…zA…Z_ followed by a…zA…Z_0…9 ◽ diacritics allowed but should be avoided ◽ language keywords forbidden ◽ lower/UPPER case discrimination ☝ expression with only comas →tuple dictionary collection integer, float, boolean, string, bytes Identifiers ☺ a toto x7 y_max BigOne ☹ 8y and for x+=3 x-=2 increment ⇔ x=x+3 decrement ⇔ x=x-2 Conversions for lists, tuples, strings, bytes… int("15") → 15 int("3f",16) → 63 can specify integer number base in 2nd parameter int(15.56) → 15 truncate decimal part float("-11.24e8") → -1124000000.0 round(15.56,1)→ 15.6 rounding to 1 decimal (0 decimal → integer number) bool(x) False for null x, empty container x , None or False x ; True for other x str(x)→ "…" representation string of x for display (cf. formatting on the back) chr(64)→'@' ord('@')→64 code ↔ char repr(x)→ "…" literal representation string of x bytes([72,9,64]) → b'Ht@' list("abc") → ['a','b','c'] dict([(3,"three"),(1,"one")]) → {1:'one',3:'three'} set(["one","two"]) → {'one','two'} separator str and sequence of str → assembled str ':'.join(['toto','12','pswd']) → 'toto:12:pswd' str splitted on whitespaces → list of str "words with spaces".split() → ['words','with','spaces'] str splitted on separator str → list of str "1,4,8,2".split(",") → ['1','4','8','2'] sequence of one type → list of another type (via list comprehension) [int(x) for x in ('1','29','-3')] → [1,29,-3] type(expression) lst=[10, 20, 30, 40, 50] lst[1]→20 lst[-2]→40 0 1 2 3 4 -5 -4 -3 -1-2 Individual access to items via lst[index] positive index negative index 0 1 2 3 54 -5 -4 -3 -1-2negative slice positive slice Access to sub-sequences via lst[start slice:end slice:step] len(lst)→5 lst[1:3]→[20,30] lst[::2]→[10,30,50] lst[-3:-1]→[30,40] lst[:3]→[10,20,30]lst[:-1]→[10,20,30,40] lst[3:]→[40,50]lst[1:-1]→[20,30,40] lst[:]→[10,20,30,40,50] Missing slice indication → from start / up to end. On mutable sequences (list), remove with del lst[3:5] and modify with assignment lst[1:4]=[15,25] Conditional Statement if age<=18: state="Kid" elif age>65: state="Retired" else: state="Active" Boolean Logic Statements Blocks parent statement: statement block 1… ⁝ parent statement: statement block2… ⁝ next statement after block 1 indentation ! Comparisons : < > <= >= == != ≠=≥≤ a and b a or b not a logical and logical or logical not one or other or both both simulta- -neously if logical condition: statements block statement block executed only if a condition is true Can go with several elif, elif... and only one final else. Only the block of first true condition is executed. lst[-1]→50 lst[0]→10 ⇒ last one ⇒ first one x=None « undefined » constant value Maths Operators: + - * / // % ** × ÷ integer ÷ ÷ remainder ab from math import sin,pi… sin(pi/4)→0.707… cos(2*pi/3)→-0.4999… sqrt(81)→9.0 √ log(e**2)→2.0 ceil(12.5)→13 floor(12.5)→12 escaped ' ☝ floating numbers… approximated values angles in radians (1+5.3)*2→12.6 abs(-3.2)→3.2 round(3.57,1)→3.6 pow(4,3)→64.0 for variables, functions, modules, classes… names Mémento v2.0.6 str (ordered sequences of chars / bytes) (key/value associations) ☝ pitfall : and and or return value of a or of b (under shortcut evaluation). ⇒ ensure that a and b are booleans. (boolean results) a=b=c=0 assignment to same value multiple assignments a,b=b,a values swap a,*b=seq *a,b=seq unpacking of sequence in item and list bytes bytes b"totoxfe775" hexadecimal octal 0b010 0xF30o642 binary octal hexa "" empty dict(a=3,b=4,k="v") Items count ☝ keys=hashable values (base types, immutables…) True False True and False constants ☝ configure editor to insert 4 spaces in place of an indentation tab. lst[::-1]→[50,40,30,20,10] lst[::-2]→[50,30,10] 1) evaluation of right side expression value 2) assignment in order with left side names = ☝ assignment ⇔ binding of a name with a value ☝ immutables On mutable sequences (list), remove with del lst[3] and modify with assignment lst[4]=25 del x remove name x b"" @ → matrix × python3.5+numpy ☝ index from 0 (here from 0 to 4) frozenset immutable set Priority (…) ☝ usual order of operations modules math, statistics, random, decimal, fractions, numpy, etc. (cf. doc) Modules/Names Imports from monmod import nom1,nom2 as fct module truc⇔file truc.py →direct access to names, renaming with as import monmod →access via monmod.nom1 … ☝ modules and packages searched in python path (cf sys.path) ? yes no shallow copy of sequence ? yes no and *= /= %= … ☝ with a var x: if bool(x)==True: ⇔ if x: if bool(x)==False: ⇔ if not x: raise ExcClass(…) Signaling an error: Errors processing: try: normal procesising block except Exception as e: error processing block normal processing error processing error processing raiseraise X() zero ☝ finally block for final processing in all cases. Exceptions on Errors
  • 3. "modele{} {} {}".format(x,y,r) "{selection:formatting!conversion}" ◽ Selection : 2 nom 0.nom 4[key] 0[2] str Displayprint("v=",3,"cm :",x,",",y+4) print options: ◽ sep=" " items separator, default space ◽ end="n" end of print, default new line ◽ file=sys.stdout print to file, default standard output items to display : literal values, variables, expressions loop on dict/set ⇔ loop on keys sequences use slices to loop on a subset of a sequence Conditional Loop Statementstatements block executed as long as condition is true while logical condition: statements block s = 0 i = 1 while i <= 100: s = s + i**2 i = i + 1 print("sum:",s) initializations before the loop condition with a least one variable value (here i) s= ∑ i=1 i=100 i2 ☝ make condition variable change ! statements block executed for each item of a container or iterator for var in sequence: statements block s = "Some text" cnt = 0 for c in s: if c == "e": cnt = cnt + 1 print("found",cnt,"'e'") Go over sequence's values Algo: count number of e in the string. Go over sequence's index ◽ modify item at index ◽ access items around index (before / after) lst = [11,18,9,12,23,4,17] lost = [] for idx in range(len(lst)): val = lst[idx] if val > 15: lost.append(val) lst[idx] = 15 print("modif:",lst,"-lost:",lost) Algo: limit values greater than 15, memorizing of lost values. ☝bewareofinfiniteloops! initializations before the loop loop variable, assignment managed by for statement values to formatformating directives Integer Sequences Files s = input("Instructions:") ☝ input always returns a string, convert it to required type (cf. boxed Conversions on the other side). range(5)→ 0 1 2 3 4 range(2,12,3)→ 2 5 8 11 range(3,8)→ 3 4 5 6 7 range(20,5,-5)→ 20 15 10 range(len(seq))→ sequence of index of values in seq ☝ range provides an immutable sequence of int constructed as needed range([start,] end [,step]) f = open("file.txt","w",encoding="utf8") storing data on disk, and reading it back opening mode ◽ 'r' read ◽ 'w' write ◽ 'a' append ◽ …'+' 'x' 'b' 't' encoding of chars for text files: utf8 ascii latin1 … name of file on disk (+path…) file variable for operations f.write("coucou") f.writelines(list of lines) writing reading f.read([n]) → next chars if n not specified, read up to end ! f.readlines([n]) → list of next lines f.readline() → next line with open(…) as f: for line in f : # processing ofline cf. modules os, os.path and pathlib f.close() ☝ dont forget to close the file after use ! Very common: opening with a guarded block (automatic closing) and reading loop on lines of a text file: Function Definition def fct(x,y,z): """documentation""" # statements block, res computation, etc. return res function name (identifier) result value of the call, if no computed result to return: return None ☝ parameters and all variables of this block exist only in the block and during the function call (think of a “black box”) named parameters Function Callr = fct(3,i+2,2*i) ☝ read empty string if end of file len(c)→ items count min(c) max(c) sum(c) sorted(c)→ list sorted copy val in c → boolean, membership operator in (absence not in) enumerate(c)→ iterator on (index, value) zip(c1,c2…)→ iterator on tuples containing ci items at same index all(c)→ True if all c items evaluated to true, else False any(c)→ True if at least one item of c evaluated true, else False ☝ modify original list lst.append(val) add item at end lst.extend(seq) add sequence of items at end lst.insert(idx,val) insert item at index lst.remove(val) remove first item with value val lst.pop([idx])→value remove & return item at index idx (default last) lst.sort() lst.reverse() sort / reverse liste in place "{:+2.3f}".format(45.72793) →'+45.728' "{1:>10s}".format(8,"toto") →' toto' "{x!r}".format(x="I'm") →'"I'm"' ☝ start default 0, end not included in sequence, step signed, default 1 ◽ Conversion : s (readable text) or r (literal representation) < > ^ = 0 at start for filling with 0 integer: b binary, c char, d decimal (default), o octal, x or X hexa… float: e or E exponential, f or F fixed point, g or G appropriate (default),  string: s … % percent ◽ Formatting : fill char alignment sign mini width.precision~maxwidth type + - space Operations on Dictionaries Operations on Sets Operators: | → union (vertical bar char) & → intersection - ^ → difference/symmetric diff. < <= > >= → inclusion relations Operators also exist as methods. d.update(d2) update/add associations Note: For dictionaries and sets, these operations use keys. Specific to ordered sequences containers (lists, tuples, strings, bytes…) reversed(c)→ inversed iterator c*5→ duplicate c+c2→ concatenate c.index(val)→ position c.count(val)→ events count Operations on Lists d[key]=value d[key]→ value d.keys() d.values() d.items() d.clear() del d[key] →iterable views on keys/values/associations Examples d.pop(key[,default])→ value d.popitem()→ (key,value) d.get(key[,default])→ value d.setdefault(key[,default])→value s.update(s2) s.copy() s.add(key) s.remove(key) s.discard(key) s.clear() s.pop() Loop Control Go simultaneously over sequence's index and values: for idx,val in enumerate(lst): ☝goodhabit :don'tmodifyloopvariable Advanced: def fct(x,y,z,*args,a=3,b=5,**kwargs): *args variable positional arguments (→tuple), default values, **kwargs variable named arguments (→dict) one argument per parameter storage/use of returned value Algo: f.flush() write cache f.tell()→position reading/writing progress sequentially in the file, modifiable with: f.seek(position[,origin]) f.truncate([size]) resize Advanced: *sequence **dict s.startswith(prefix[,start[,end]]) s.endswith(suffix[,start[,end]]) s.strip([chars]) s.count(sub[,start[,end]]) s.partition(sep)→ (before,sep,after) s.index(sub[,start[,end]]) s.find(sub[,start[,end]]) s.is…() tests on chars categories (ex. s.isalpha()) s.upper() s.lower() s.title() s.swapcase() s.casefold() s.capitalize() s.center([width,fill]) s.ljust([width,fill]) s.rjust([width,fill]) s.zfill([width]) s.encode(encoding) s.split([sep]) s.join(seq) ? yes no next finish … Input import copy copy.copy(c)→ shallow copy of container copy.deepcopy(c)→ deep copy of container ☝ this is the use of function name with parentheses which does the call fct() fct fct ☝ text mode t by default (read/write str), possible binary mode b (read/write bytes). Convert from/to required type ! break immediate exit continue next iteration ☝ else block for normal loop exit. Iterative Loop Statement Operations on Strings Formatting Generic Operations on Containers