python introductions2 to basics programmin.pptx

annacarson387 16 views 34 slides Oct 05, 2024
Slide 1
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34

About This Presentation

python_learning_guide introductions2


Slide Content

Introduction to the basics of Python programming (part 1) by Anna Carson

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!”)
Tags