SlideShare a Scribd company logo
Introduction to the basics of
Python programming
(PART 1)
by Pedro Rodrigues (pedro@startacareerwithpython.com)
A little about me
 Name: Pedro Rodrigues
 Origin: Luanda (Angola)
 In the Netherlands since 2013
 Former CTO and Senior Backend Engineer
 Freelance Software Engineer
 Book author: Start a Career with Python
 Coach
Why this Meetup Group?
 Promote the usage of Python
 Gather people from different industries and backgrounds
 Teach and Learn
What will be covered
 First steps with the interactive shell: CPython
 Variables and Data types
 Single and Multi variable assignment
 Immutable: strings, tuples, bytes, frozensets
 Mutable: lists, bytearrays, sets, dictionaries
 Control Flow
 if statement
 for statement
 Range, Iterable and Iterators
 while statement
 break and continue
What is Python?
 Dutch product: create by Guido van Rossum in the late 80s
 Interpreted language
 Multi-paradigm: Procedural (imperative), Object Oriented, Functional
 Dynamically Typed
Python interpreter
 CPython: reference, written in C
 PyPy, Jython, IronPython
 help()
 dir()
Hello, world!
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
 The if statement (Python Language Reference):
https://docs.python.org/3/reference/compound_stmts.html#the-if-statement
 The for statement (Python Language Reference):
https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
 The while 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

What's hot

Python Programming ppt
Python Programming pptPython Programming ppt
Python Programming ppt
ismailmrribi
 
Python by Rj
Python by RjPython by Rj
Python Tutorial Part 1
Python Tutorial Part 1Python Tutorial Part 1
Python Tutorial Part 1
Haitham El-Ghareeb
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming
KrishnaMildain
 
Basics of python
Basics of pythonBasics of python
Basics of python
SurjeetSinghSurjeetS
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
Srinivas Narasegouda
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
Nowell Strite
 
Python
PythonPython
Python-01| Fundamentals
Python-01| FundamentalsPython-01| Fundamentals
Python-01| Fundamentals
Mohd Sajjad
 
Python
PythonPython
Python
Aashish Jain
 
Python - the basics
Python - the basicsPython - the basics
Python - the basics
University of Technology
 
Intro to Python Programming Language
Intro to Python Programming LanguageIntro to Python Programming Language
Intro to Python Programming Language
Dipankar Achinta
 
Programming with Python
Programming with PythonProgramming with Python
Programming with Python
Rasan Samarasinghe
 
Python Data-Types
Python Data-TypesPython Data-Types
Python Data-Types
Akhil Kaushik
 
Introduction to-python
Introduction to-pythonIntroduction to-python
Introduction to-python
Aakashdata
 
Fundamentals of Python Programming
Fundamentals of Python ProgrammingFundamentals of Python Programming
Fundamentals of Python Programming
Kamal Acharya
 
Let’s Learn Python An introduction to Python
Let’s Learn Python An introduction to Python Let’s Learn Python An introduction to Python
Let’s Learn Python An introduction to Python
Jaganadh Gopinadhan
 
Introduction to Python Basics Programming
Introduction to Python Basics ProgrammingIntroduction to Python Basics Programming
Introduction to Python Basics Programming
Collaboration Technologies
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
amiable_indian
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
Sugantha T
 

What's hot (20)

Python Programming ppt
Python Programming pptPython Programming ppt
Python Programming ppt
 
Python by Rj
Python by RjPython by Rj
Python by Rj
 
Python Tutorial Part 1
Python Tutorial Part 1Python Tutorial Part 1
Python Tutorial Part 1
 
Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming Python programming | Fundamentals of Python programming
Python programming | Fundamentals of Python programming
 
Basics of python
Basics of pythonBasics of python
Basics of python
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Python
PythonPython
Python
 
Python-01| Fundamentals
Python-01| FundamentalsPython-01| Fundamentals
Python-01| Fundamentals
 
Python
PythonPython
Python
 
Python - the basics
Python - the basicsPython - the basics
Python - the basics
 
Intro to Python Programming Language
Intro to Python Programming LanguageIntro to Python Programming Language
Intro to Python Programming Language
 
Programming with Python
Programming with PythonProgramming with Python
Programming with Python
 
Python Data-Types
Python Data-TypesPython Data-Types
Python Data-Types
 
Introduction to-python
Introduction to-pythonIntroduction to-python
Introduction to-python
 
Fundamentals of Python Programming
Fundamentals of Python ProgrammingFundamentals of Python Programming
Fundamentals of Python Programming
 
Let’s Learn Python An introduction to Python
Let’s Learn Python An introduction to Python Let’s Learn Python An introduction to Python
Let’s Learn Python An introduction to Python
 
Introduction to Python Basics Programming
Introduction to Python Basics ProgrammingIntroduction to Python Basics Programming
Introduction to Python Basics Programming
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
 
Python course syllabus
Python course syllabusPython course syllabus
Python course syllabus
 

Viewers also liked

Python tutorial
Python tutorialPython tutorial
Python tutorial
Vijay Chaitanya
 
Basics of Python programming (part 2)
Basics of Python programming (part 2)Basics of Python programming (part 2)
Basics of Python programming (part 2)
Pedro Rodrigues
 
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
 
Python教程 / Python tutorial
Python教程 / Python tutorialPython教程 / Python tutorial
Python教程 / Python tutorial
ee0703
 
Python Tutorial Part 2
Python Tutorial Part 2Python Tutorial Part 2
Python Tutorial Part 2
Haitham El-Ghareeb
 
Python - basics
Python - basicsPython - basics
Python - basics
Jéferson Machado
 
PythonIntro
PythonIntroPythonIntro
PythonIntro
webuploader
 
Python Tutorial
Python TutorialPython Tutorial
Python Tutorial
AkramWaseem
 
Python Programming Essentials - M6 - Code Blocks and Indentation
Python Programming Essentials - M6 - Code Blocks and IndentationPython Programming Essentials - M6 - Code Blocks and Indentation
Python Programming Essentials - M6 - Code Blocks and Indentation
P3 InfoTech Solutions Pvt. Ltd.
 
AmI 2015 - Python basics
AmI 2015 - Python basicsAmI 2015 - Python basics
AmI 2015 - Python basics
Luigi De Russis
 
Python Basics
Python BasicsPython Basics
Python Basics
tusharpanda88
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
Saket Choudhary
 
python codes
python codespython codes
python codes
tusharpanda88
 
Python basics
Python basicsPython basics
Python basics
Hoang Nguyen
 
AmI 2016 - Python basics
AmI 2016 - Python basicsAmI 2016 - Python basics
AmI 2016 - Python basics
Luigi De Russis
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
Kiran Vadakkath
 
Python basics
Python basicsPython basics
Classification of computers
Classification of computersClassification of computers
Classification of computers
sunil kumar
 
Introduction to python 3 2nd round
Introduction to python 3   2nd roundIntroduction to python 3   2nd round
Introduction to python 3 2nd round
Youhei Sakurai
 
Evolution and classification of computers
Evolution and classification of computersEvolution and classification of computers
Evolution and classification of computers
AVINASH ANAND
 

Viewers also liked (20)

Python tutorial
Python tutorialPython tutorial
Python tutorial
 
Basics of Python programming (part 2)
Basics of Python programming (part 2)Basics of Python programming (part 2)
Basics of Python programming (part 2)
 
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)
 
Python教程 / Python tutorial
Python教程 / Python tutorialPython教程 / Python tutorial
Python教程 / Python tutorial
 
Python Tutorial Part 2
Python Tutorial Part 2Python Tutorial Part 2
Python Tutorial Part 2
 
Python - basics
Python - basicsPython - basics
Python - basics
 
PythonIntro
PythonIntroPythonIntro
PythonIntro
 
Python Tutorial
Python TutorialPython Tutorial
Python Tutorial
 
Python Programming Essentials - M6 - Code Blocks and Indentation
Python Programming Essentials - M6 - Code Blocks and IndentationPython Programming Essentials - M6 - Code Blocks and Indentation
Python Programming Essentials - M6 - Code Blocks and Indentation
 
AmI 2015 - Python basics
AmI 2015 - Python basicsAmI 2015 - Python basics
AmI 2015 - Python basics
 
Python Basics
Python BasicsPython Basics
Python Basics
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
 
python codes
python codespython codes
python codes
 
Python basics
Python basicsPython basics
Python basics
 
AmI 2016 - Python basics
AmI 2016 - Python basicsAmI 2016 - Python basics
AmI 2016 - Python basics
 
Introduction to python programming
Introduction to python programmingIntroduction to python programming
Introduction to python programming
 
Python basics
Python basicsPython basics
Python basics
 
Classification of computers
Classification of computersClassification of computers
Classification of computers
 
Introduction to python 3 2nd round
Introduction to python 3   2nd roundIntroduction to python 3   2nd round
Introduction to python 3 2nd round
 
Evolution and classification of computers
Evolution and classification of computersEvolution and classification of computers
Evolution and classification of computers
 

Similar to Introduction to the basics of Python programming (part 1)

introductionpart1-160906115340 (1).pptx
introductionpart1-160906115340 (1).pptxintroductionpart1-160906115340 (1).pptx
introductionpart1-160906115340 (1).pptx
AsthaChaurasia4
 
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 for Beginners(v1)
Python for Beginners(v1)Python for Beginners(v1)
Python for Beginners(v1)
Panimalar Engineering College
 
Python basics
Python basicsPython basics
Python basics
Manisha Gholve
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
DRVaibhavmeshram1
 
PythonStudyMaterialSTudyMaterial.pdf
PythonStudyMaterialSTudyMaterial.pdfPythonStudyMaterialSTudyMaterial.pdf
PythonStudyMaterialSTudyMaterial.pdf
data2businessinsight
 
introduction to python in english presentation file
introduction to python in english presentation fileintroduction to python in english presentation file
introduction to python in english presentation file
RujanTimsina1
 
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docxISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
priestmanmable
 
Python-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptxPython-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptx
ElijahSantos4
 
Automation Testing theory notes.pptx
Automation Testing theory notes.pptxAutomation Testing theory notes.pptx
Automation Testing theory notes.pptx
NileshBorkar12
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...
Simplilearn
 
Python programming
Python  programmingPython  programming
Python programming
Ashwin Kumar Ramasamy
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Fariz Darari
 
PPt Revision of the basics of python1.pptx
PPt Revision of the basics of python1.pptxPPt Revision of the basics of python1.pptx
PPt Revision of the basics of python1.pptx
tcsonline1222
 
Biopython: Overview, State of the Art and Outlook
Biopython: Overview, State of the Art and OutlookBiopython: Overview, State of the Art and Outlook
Biopython: Overview, State of the Art and Outlook
Asociación Argentina de Bioinformática y Biología Computacional
 
Python interview questions and answers
Python interview questions and answersPython interview questions and answers
Python interview questions and answers
RojaPriya
 
Python: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopersPython: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopers
Glenn De Backer
 
Python introduction
Python introductionPython introduction
Python introduction
leela rani
 
01-Python-Basics.ppt
01-Python-Basics.ppt01-Python-Basics.ppt
01-Python-Basics.ppt
VicVic56
 
Python interview questions and answers
Python interview questions and answersPython interview questions and answers
Python interview questions and answers
kavinilavuG
 

Similar to Introduction to the basics of Python programming (part 1) (20)

introductionpart1-160906115340 (1).pptx
introductionpart1-160906115340 (1).pptxintroductionpart1-160906115340 (1).pptx
introductionpart1-160906115340 (1).pptx
 
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
 
Python for Beginners(v1)
Python for Beginners(v1)Python for Beginners(v1)
Python for Beginners(v1)
 
Python basics
Python basicsPython basics
Python basics
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
 
PythonStudyMaterialSTudyMaterial.pdf
PythonStudyMaterialSTudyMaterial.pdfPythonStudyMaterialSTudyMaterial.pdf
PythonStudyMaterialSTudyMaterial.pdf
 
introduction to python in english presentation file
introduction to python in english presentation fileintroduction to python in english presentation file
introduction to python in english presentation file
 
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docxISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
ISTA 130 Lab 21 Turtle ReviewHere are all of the turt.docx
 
Python-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptxPython-CH01L04-Presentation.pptx
Python-CH01L04-Presentation.pptx
 
Automation Testing theory notes.pptx
Automation Testing theory notes.pptxAutomation Testing theory notes.pptx
Automation Testing theory notes.pptx
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...
 
Python programming
Python  programmingPython  programming
Python programming
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
 
PPt Revision of the basics of python1.pptx
PPt Revision of the basics of python1.pptxPPt Revision of the basics of python1.pptx
PPt Revision of the basics of python1.pptx
 
Biopython: Overview, State of the Art and Outlook
Biopython: Overview, State of the Art and OutlookBiopython: Overview, State of the Art and Outlook
Biopython: Overview, State of the Art and Outlook
 
Python interview questions and answers
Python interview questions and answersPython interview questions and answers
Python interview questions and answers
 
Python: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopersPython: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopers
 
Python introduction
Python introductionPython introduction
Python introduction
 
01-Python-Basics.ppt
01-Python-Basics.ppt01-Python-Basics.ppt
01-Python-Basics.ppt
 
Python interview questions and answers
Python interview questions and answersPython interview questions and answers
Python interview questions and answers
 

Recently uploaded

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 

Recently uploaded (20)

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 

Introduction to the basics of Python programming (part 1)

  • 1. Introduction to the basics of Python programming (PART 1) by Pedro Rodrigues (pedro@startacareerwithpython.com)
  • 2. A little about me  Name: Pedro Rodrigues  Origin: Luanda (Angola)  In the Netherlands since 2013  Former CTO and Senior Backend Engineer  Freelance Software Engineer  Book author: Start a Career with Python  Coach
  • 3. Why this Meetup Group?  Promote the usage of Python  Gather people from different industries and backgrounds  Teach and Learn
  • 4. What will be covered  First steps with the interactive shell: CPython  Variables and Data types  Single and Multi variable assignment  Immutable: strings, tuples, bytes, frozensets  Mutable: lists, bytearrays, sets, dictionaries  Control Flow  if statement  for statement  Range, Iterable and Iterators  while statement  break and continue
  • 5. What is Python?  Dutch product: create by Guido van Rossum in the late 80s  Interpreted language  Multi-paradigm: Procedural (imperative), Object Oriented, Functional  Dynamically Typed
  • 6. Python interpreter  CPython: reference, written in C  PyPy, Jython, IronPython  help()  dir()
  • 8. 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
  • 9. 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()
  • 10. 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)
  • 11. 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
  • 12. 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. “””
  • 13. 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
  • 14. 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)
  • 15. Control Flow (pt. 1): if statement  Compound statement if <expression>: suite elif <expression2>: suite else: suite
  • 16. 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”)
  • 17. 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
  • 18. 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()
  • 19. Control Flow: for loop  Also compound statement  Iterates over the elements of an iterable object for <target> in <expression>: suite else: suite
  • 20. 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)
  • 21. 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
  • 22. 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)
  • 23. Control Flow: for loop (continuation)  range: represents a sequence of integers  range(stop)  range(start, stop)  range(start, stop, step)
  • 24. Control Flow: for loop (continuation) colors = [“red”, “green”, “orange”, “blue”] for color in colors: print(color) else: print(“Done!”)
  • 25. Control Flow: while loop  Executes the suite of statements as long as the expression evaluates to True while <expression>: suite else: suite
  • 26. 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!”)
  • 27. Challenge  Rewrite the following code using a for loop and range: counter = 5 while counter > 0: print(counter) counter = counter - 1
  • 28. 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)
  • 29. Control Flow: break and (continue) colors = [“red”, “green”, “blue”, “purple”, “orange”] for color in colors: if len(color) > 5: break else: print(color)
  • 30. 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)
  • 31. Reading material  Data Model (Python Language Reference): https://docs.python.org/3/reference/datamodel.html  The if statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-if-statement  The for statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-for-statement  The while statement (Python Language Reference): https://docs.python.org/3/reference/compound_stmts.html#the-while-statement
  • 32. 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
  • 33. 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
  • 34. tuple  x = 1,  x = (1,)  x = 1, 2, 3  x = (1, 2, 3)  x = (1, “Hello, world!”)  You can also slice tuples
  • 35. 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’’’
  • 36. bytearray  Mutable counterpart of bytes  x = bytearray()  x = bytearray(10)  x = bytearray(b”Hello, world!”)