SlideShare a Scribd company logo
1 of 30
Introduction to
Python programming
Submitted by ASTHA CHAURASIA Submitted to Prof.Mir Shahnawaz Ahmad
Variables
▶ Binding between a name and an object
▶ Single variable assignment: x = 1
▶ Multi variable assignment: x, y = 1, 2
▶ Swap values: x, y = y, x
Data Types
▶ Numbers: int (Integers), float (Real Numbers), bool (Boolean, a subset of int)
▶ Immutable Types: str (string), tuple, bytes, frozenset
▶ Mutable Types: list, set, bytearray, dict (dictionary)
▶ Sequence Types: str, tuple, bytes, bytearray, list
▶ Determining the type of an object: type()
Numbers: int and float
▶ 1 + 2 (addition)
▶ 1 – 2 (subtraction)
▶ 1 * 2 (multiplication)
▶ 1 / 2 (division)
▶ 1 // 2 (integer or floor division)
▶ 3 % 2 (modulus or remainder of the division)
▶ 2**2 (power)
Numbers: bool (continuation)
▶ 1 > 2
▶ 1 < 2
▶ 1 == 2
▶ Boolean operations: and, or, not
▶ Objects can also be tested for their truth value. The following values are false:
None, False, zero of any numeric type, empty sequences, empty mapping
str (String)
▶ x = “This is a string”
▶ x = ‘This is also a string’
▶ x = “””So is this one”””
▶ x = ‘’’And this one as well’’’
▶ x = “””
This is a string that spans more
than one line. This can also be used
for comments.
“””
str (continuation)
▶ Indexing elements: x[0] is the first element, x[1] is the second, and so on
▶ Slicing:
▶ [start:end:step]
▶ [start:] # end is the length of the sequence, step assumed to be 1
▶ [:end] # start is the beginning of the sequence, step assumed to be 1
▶ [::step] # start is the beginning of the sequence, end is the length
▶ [start::step]
▶ [:end:step]
▶ These operations are common for all sequence types
str (continuation)
▶ Some common string methods:
▶ join (concatenates the strings from an iterable using the string as glue)
▶ format (returns a formatted version of the string)
▶ strip (returns a copy of the string without leading and trailing whitespace)
▶ Use help(str.<command>) in the interactive shell and dir(str)
Control Flow (pt. 1): if statement
▶ Compound statement
if <expression>:
suite
elif <expression2>:
suite
else:
suite
Control Flow (pt. 2): if statement
age = int(input(“> “))
if age >= 30:
print(“You are 30 or above”)
elif 20 < age < 30:
print(“You are in your twenties”)
else:
print(“You are less than 20”)
list
▶ x = [] # empty list
▶ x = [1, 2, 3] # list with 3 elements
▶ x = list(“Hello”)
▶ x.append(“something”) # append object to the end of the list
▶ x.insert(2, “something”) # append object before index 2
dict (Dictionaries)
▶ Mapping between keys and values
▶ Values can be of whatever type
▶ Keys must be hashable
▶ x = {} # empty dictionary
▶ x = {“Name”: “John”, “Age”: 23}
▶ x.keys()
▶ x.values()
▶ x.items()
Control Flow: for loop
▶ Also compound statement
▶ Iterates over the elements of an iterable object
for <target> in <expression>:
suite
else:
suite
Control Flow: for loop (continuation)
colors = [“red”, “green”, “blue”, “orange”]
for color in colors:
print(color)
colors = [[1, “red”], [2, “green”], [3, “blue”], [4, “orange”]]
for i, color in colors:
print(i, “ ---> “, color)
Control Flow: for loop (continuation)
▶ Iterable is a container object able to return its elements one at a time
▶ Iterables use iterators to return their elements one at a time
▶ Iterator is an object that represents a stream of data
▶ Must implement two methods: iter and next (Iterator protocol)
▶ Raises StopIteration when elements are exhausted
▶ Lazy evaluation
Challenge
▶ Rewrite the following code using enumerate and the following list of colors:
[“red”, “green”, “blue”, “orange”] .
(hint: help(enumerate))
colors = [[1, “red”], [2, “green”], [3, “blue”], [4, “orange”]]
for i, color in colors:
print(i, “ ---> “, color)
Control Flow: for loop (continuation)
▶ range: represents a sequence of integers
▶ range(stop)
▶ range(start, stop)
▶ range(start, stop, step)
Control Flow: for loop (continuation)
colors = [“red”, “green”, “orange”, “blue”]
for color in colors:
print(color)
else:
print(“Done!”)
Control Flow: while loop
▶ Executes the suite of statements as long as the expression evaluates to True
while <expression>:
suite
else:
suite
Control Flow: while loop (continuation)
counter = 5
while counter > 0:
print(counter)
counter = counter - 1
counter = 5
while counter > 0:
print(counter)
counter = counter – 1
else:
print(“Done!”)
Challenge
▶ Rewrite the following code using a for loop and range:
counter = 5
while counter > 0:
print(counter)
counter = counter - 1
Control Flow: break and continue
▶ Can only occur nested in a for or while loop
▶ Change the normal flow of execution of a loop:
▶ break stops the loop
▶ continue skips to the next iteration
for i in range(10):
if i % 2 == 0:
continue
else:
print(i)
Control Flow: break and (continue)
colors = [“red”, “green”, “blue”, “purple”, “orange”]
for color in colors:
if len(color) > 5:
break
else:
print(color)
Challenge
▶ Rewrite the following code without the if statement (hint: use the step in range)
for i in range(10):
if i % 2 == 0:
continue
else:
print(i)
Reading material
▶ Data Model (Python Language Reference):
https://docs.python.org/3/reference/datamodel.html
▶ Theif statement (Python Language Reference):
https://docs.python.org/3/reference/compound_stmts.html#the-if-statement
▶ Thefor statement (Python Language Reference):
https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
▶ Thewhile statement (Python Language Reference):
https://docs.python.org/3/reference/compound_stmts.html#the-while-statement
More resources
▶ Python Tutorial: https://docs.python.org/3/tutorial/index.html
▶ Python Language Reference: https://docs.python.org/3/reference/index.html
▶ Slack channel: https://startcareerpython.slack.com/
▶ Start a Career with Python newsletter: https://www.startacareerwithpython.com/
▶ Book 15% off (NZ6SZFBL): https://www.createspace.com/6506874
set
▶ Unordered mutable collection of elements
▶ Doesn’t allow duplicate elements
▶ Elements must be hashable
▶ Useful to test membership
▶ x = set() # empty set
▶ x = {1, 2, 3} # set with 3 integers
▶ 2 in x # membership test
tuple
▶ x = 1,
▶ x = (1,)
▶ x = 1, 2, 3
▶ x = (1, 2, 3)
▶ x = (1, “Hello, world!”)
▶ You can also slice tuples
bytes
▶ Immutable sequence of bytes
▶ Each element is an ASCII character
▶ Integers greater than 127 must be properly escaped
▶ x = b”This is a bytes object”
▶ x = b’This is also a bytes object’
▶ x = b”””So is this”””
▶ x = b’’’or even this’’’
bytearray
▶ Mutable counterpart of bytes
▶ x = bytearray()
▶ x = bytearray(10)
▶ x = bytearray(b”Hello, world!”)

More Related Content

Similar to introductionpart1-160906115340 (1).pptx

Python for Scientific Computing
Python for Scientific ComputingPython for Scientific Computing
Python for Scientific ComputingAlbert DeFusco
 
Python cheatsheat.pdf
Python cheatsheat.pdfPython cheatsheat.pdf
Python cheatsheat.pdfHimoZZZ
 
Python Workshop. LUG Maniapl
Python Workshop. LUG ManiaplPython Workshop. LUG Maniapl
Python Workshop. LUG ManiaplAnkur Shrivastava
 
Python-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptxPython-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptxElijahSantos4
 
Introduction to python programming 1
Introduction to python programming   1Introduction to python programming   1
Introduction to python programming 1Giovanni Della Lunga
 
Declare Your Language: Name Resolution
Declare Your Language: Name ResolutionDeclare Your Language: Name Resolution
Declare Your Language: Name ResolutionEelco Visser
 
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 WayUtkarsh Sengar
 
Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Pedro Rodrigues
 
Data Handling.pdf
Data Handling.pdfData Handling.pdf
Data Handling.pdfMILANOP1
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Basic R Data Manipulation
Basic R Data ManipulationBasic R Data Manipulation
Basic R Data ManipulationChu An
 
F# Presentation
F# PresentationF# Presentation
F# Presentationmrkurt
 

Similar to introductionpart1-160906115340 (1).pptx (20)

Python for Scientific Computing
Python for Scientific ComputingPython for Scientific Computing
Python for Scientific Computing
 
Python cheatsheat.pdf
Python cheatsheat.pdfPython cheatsheat.pdf
Python cheatsheat.pdf
 
Day2
Day2Day2
Day2
 
MODULE. .pptx
MODULE.                              .pptxMODULE.                              .pptx
MODULE. .pptx
 
Python for Beginners(v1)
Python for Beginners(v1)Python for Beginners(v1)
Python for Beginners(v1)
 
Python Workshop. LUG Maniapl
Python Workshop. LUG ManiaplPython Workshop. LUG Maniapl
Python Workshop. LUG Maniapl
 
Python-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptxPython-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptx
 
Loops in Python.pptx
Loops in Python.pptxLoops in Python.pptx
Loops in Python.pptx
 
Introduction to python programming 1
Introduction to python programming   1Introduction to python programming   1
Introduction to python programming 1
 
Python 3.pptx
Python 3.pptxPython 3.pptx
Python 3.pptx
 
Porting to Python 3
Porting to Python 3Porting to Python 3
Porting to Python 3
 
Python Session - 3
Python Session - 3Python Session - 3
Python Session - 3
 
Declare Your Language: Name Resolution
Declare Your Language: Name ResolutionDeclare Your Language: Name Resolution
Declare Your Language: Name Resolution
 
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
 
Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)Introduction to the basics of Python programming (part 3)
Introduction to the basics of Python programming (part 3)
 
Data Handling.pdf
Data Handling.pdfData Handling.pdf
Data Handling.pdf
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Basic R Data Manipulation
Basic R Data ManipulationBasic R Data Manipulation
Basic R Data Manipulation
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
 
F# Presentation
F# PresentationF# Presentation
F# Presentation
 

More from AsthaChaurasia4

More from AsthaChaurasia4 (9)

SENSORS.pptx
SENSORS.pptxSENSORS.pptx
SENSORS.pptx
 
datastructureppt-190327174340 (1).pptx
datastructureppt-190327174340 (1).pptxdatastructureppt-190327174340 (1).pptx
datastructureppt-190327174340 (1).pptx
 
PROFICIENCY PRESENTATION.pptx
PROFICIENCY PRESENTATION.pptxPROFICIENCY PRESENTATION.pptx
PROFICIENCY PRESENTATION.pptx
 
beeeppt.pptx
beeeppt.pptxbeeeppt.pptx
beeeppt.pptx
 
numbersystem-211022083557.pdf
numbersystem-211022083557.pdfnumbersystem-211022083557.pdf
numbersystem-211022083557.pdf
 
lecture02-numbersystem-191002152647.pdf
lecture02-numbersystem-191002152647.pdflecture02-numbersystem-191002152647.pdf
lecture02-numbersystem-191002152647.pdf
 
BEEEE PROJECT.pptx
BEEEE PROJECT.pptxBEEEE PROJECT.pptx
BEEEE PROJECT.pptx
 
AIML.pptx
AIML.pptxAIML.pptx
AIML.pptx
 
beee.pptx
beee.pptxbeee.pptx
beee.pptx
 

Recently uploaded

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 

Recently uploaded (20)

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

introductionpart1-160906115340 (1).pptx

  • 1. Introduction to Python programming Submitted by ASTHA CHAURASIA Submitted to Prof.Mir Shahnawaz Ahmad
  • 2. Variables ▶ Binding between a name and an object ▶ Single variable assignment: x = 1 ▶ Multi variable assignment: x, y = 1, 2 ▶ Swap values: x, y = y, x
  • 3. Data Types ▶ Numbers: int (Integers), float (Real Numbers), bool (Boolean, a subset of int) ▶ Immutable Types: str (string), tuple, bytes, frozenset ▶ Mutable Types: list, set, bytearray, dict (dictionary) ▶ Sequence Types: str, tuple, bytes, bytearray, list ▶ Determining the type of an object: type()
  • 4. Numbers: int and float ▶ 1 + 2 (addition) ▶ 1 – 2 (subtraction) ▶ 1 * 2 (multiplication) ▶ 1 / 2 (division) ▶ 1 // 2 (integer or floor division) ▶ 3 % 2 (modulus or remainder of the division) ▶ 2**2 (power)
  • 5. Numbers: bool (continuation) ▶ 1 > 2 ▶ 1 < 2 ▶ 1 == 2 ▶ Boolean operations: and, or, not ▶ Objects can also be tested for their truth value. The following values are false: None, False, zero of any numeric type, empty sequences, empty mapping
  • 6. str (String) ▶ x = “This is a string” ▶ x = ‘This is also a string’ ▶ x = “””So is this one””” ▶ x = ‘’’And this one as well’’’ ▶ x = “”” This is a string that spans more than one line. This can also be used for comments. “””
  • 7. str (continuation) ▶ Indexing elements: x[0] is the first element, x[1] is the second, and so on ▶ Slicing: ▶ [start:end:step] ▶ [start:] # end is the length of the sequence, step assumed to be 1 ▶ [:end] # start is the beginning of the sequence, step assumed to be 1 ▶ [::step] # start is the beginning of the sequence, end is the length ▶ [start::step] ▶ [:end:step] ▶ These operations are common for all sequence types
  • 8. str (continuation) ▶ Some common string methods: ▶ join (concatenates the strings from an iterable using the string as glue) ▶ format (returns a formatted version of the string) ▶ strip (returns a copy of the string without leading and trailing whitespace) ▶ Use help(str.<command>) in the interactive shell and dir(str)
  • 9. Control Flow (pt. 1): if statement ▶ Compound statement if <expression>: suite elif <expression2>: suite else: suite
  • 10. Control Flow (pt. 2): if statement age = int(input(“> “)) if age >= 30: print(“You are 30 or above”) elif 20 < age < 30: print(“You are in your twenties”) else: print(“You are less than 20”)
  • 11. list ▶ x = [] # empty list ▶ x = [1, 2, 3] # list with 3 elements ▶ x = list(“Hello”) ▶ x.append(“something”) # append object to the end of the list ▶ x.insert(2, “something”) # append object before index 2
  • 12. dict (Dictionaries) ▶ Mapping between keys and values ▶ Values can be of whatever type ▶ Keys must be hashable ▶ x = {} # empty dictionary ▶ x = {“Name”: “John”, “Age”: 23} ▶ x.keys() ▶ x.values() ▶ x.items()
  • 13. Control Flow: for loop ▶ Also compound statement ▶ Iterates over the elements of an iterable object for <target> in <expression>: suite else: suite
  • 14. Control Flow: for loop (continuation) colors = [“red”, “green”, “blue”, “orange”] for color in colors: print(color) colors = [[1, “red”], [2, “green”], [3, “blue”], [4, “orange”]] for i, color in colors: print(i, “ ---> “, color)
  • 15. Control Flow: for loop (continuation) ▶ Iterable is a container object able to return its elements one at a time ▶ Iterables use iterators to return their elements one at a time ▶ Iterator is an object that represents a stream of data ▶ Must implement two methods: iter and next (Iterator protocol) ▶ Raises StopIteration when elements are exhausted ▶ Lazy evaluation
  • 16. Challenge ▶ Rewrite the following code using enumerate and the following list of colors: [“red”, “green”, “blue”, “orange”] . (hint: help(enumerate)) colors = [[1, “red”], [2, “green”], [3, “blue”], [4, “orange”]] for i, color in colors: print(i, “ ---> “, color)
  • 17. Control Flow: for loop (continuation) ▶ range: represents a sequence of integers ▶ range(stop) ▶ range(start, stop) ▶ range(start, stop, step)
  • 18. Control Flow: for loop (continuation) colors = [“red”, “green”, “orange”, “blue”] for color in colors: print(color) else: print(“Done!”)
  • 19. Control Flow: while loop ▶ Executes the suite of statements as long as the expression evaluates to True while <expression>: suite else: suite
  • 20. Control Flow: while loop (continuation) counter = 5 while counter > 0: print(counter) counter = counter - 1 counter = 5 while counter > 0: print(counter) counter = counter – 1 else: print(“Done!”)
  • 21. Challenge ▶ Rewrite the following code using a for loop and range: counter = 5 while counter > 0: print(counter) counter = counter - 1
  • 22. Control Flow: break and continue ▶ Can only occur nested in a for or while loop ▶ Change the normal flow of execution of a loop: ▶ break stops the loop ▶ continue skips to the next iteration for i in range(10): if i % 2 == 0: continue else: print(i)
  • 23. Control Flow: break and (continue) colors = [“red”, “green”, “blue”, “purple”, “orange”] for color in colors: if len(color) > 5: break else: print(color)
  • 24. Challenge ▶ Rewrite the following code without the if statement (hint: use the step in range) for i in range(10): if i % 2 == 0: continue else: print(i)
  • 25. Reading material ▶ Data Model (Python Language Reference): https://docs.python.org/3/reference/datamodel.html ▶ Theif statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-if-statement ▶ Thefor statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-for-statement ▶ Thewhile statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-while-statement
  • 26. More resources ▶ Python Tutorial: https://docs.python.org/3/tutorial/index.html ▶ Python Language Reference: https://docs.python.org/3/reference/index.html ▶ Slack channel: https://startcareerpython.slack.com/ ▶ Start a Career with Python newsletter: https://www.startacareerwithpython.com/ ▶ Book 15% off (NZ6SZFBL): https://www.createspace.com/6506874
  • 27. set ▶ Unordered mutable collection of elements ▶ Doesn’t allow duplicate elements ▶ Elements must be hashable ▶ Useful to test membership ▶ x = set() # empty set ▶ x = {1, 2, 3} # set with 3 integers ▶ 2 in x # membership test
  • 28. tuple ▶ x = 1, ▶ x = (1,) ▶ x = 1, 2, 3 ▶ x = (1, 2, 3) ▶ x = (1, “Hello, world!”) ▶ You can also slice tuples
  • 29. bytes ▶ Immutable sequence of bytes ▶ Each element is an ASCII character ▶ Integers greater than 127 must be properly escaped ▶ x = b”This is a bytes object” ▶ x = b’This is also a bytes object’ ▶ x = b”””So is this””” ▶ x = b’’’or even this’’’
  • 30. bytearray ▶ Mutable counterpart of bytes ▶ x = bytearray() ▶ x = bytearray(10) ▶ x = bytearray(b”Hello, world!”)