Top Banner
Python BASICS Introduction to Python programming, basic concepts: formatting, naming conventions, variables, etc.
78

Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Jun 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

PythonBASICS

Introduction to Python programming, basic

concepts: formatting, naming conventions,

variables, etc.

Page 2: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

#include <stdio.h>

int main()

{

printf("Hello, world!");

return 0;

}

3/10/2016 Python basics 2

Page 3: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

print "Hello, world!"

3/10/2016 Python basics 3

Page 4: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

# this will print "Hello, world!"

print "Hello, world!"

3/10/2016 Python basics 4

inline comment

Page 5: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Keywords

• and • del • from • not • while• as• elif• global• or• with

• assert • else • if • pass • yield• break • except • import • print• class • exec

3/10/2016 Python basics 5

• in

• raise

• continue

• finally

• is

• return

• def

• for

• lambda

• try

Page 6: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Variables

3/10/2016 Python basics 6

language_name = "Python"

naming convention: joined_lower

this is a string

Page 7: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Variables

3/10/2016 Python basics 7

language_name = "Python"

version = '2.7.11'

introduced = 1991

is_awesome = True

Page 8: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Type Inference

3/10/2016 Python basics 8

language_name = "Python" # string

version = '2.7.11' # another string

introduced = 1991 # integer

is_awesome = True # boolean

actual type can be checked with type()

play_with_types.py

Page 9: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String

3/10/2016 Python basics 9

some_string = "I'm a string"

another_string = 'I'm a string, too'

Page 10: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String

3/10/2016 Python basics 10

some_string = "I'm a string"

another_string = 'I'm a string, too'

# SyntaxError: invalid syntax

Page 11: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String

3/10/2016 Python basics 11

another_string = 'I am a string, too'

another_strig = 'I\'m a string, too'

escape sequence

Page 12: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String

3/10/2016 Python basics 12

long_string = """I am a long string.

I span over two lines."""

long_string = '''I am another long

string.

I span over three lines.

I am composed by three sentences.'''

Page 13: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

If Statement

3/10/2016 Python basics 13

people = 20

cats = 30

if people < cats:

print "Too many cats! We are doomed!"

if people > cats:

print "Not many cats! We are safe!"

4 spaces

4 spaces

Page 14: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

If Statement

3/10/2016 Python basics 14

people = 20

cats = 30

if people < cats:

print "Too many cats! We are doomed!"

elif people > cats:

print "Not many cats! We are safe!"

else:

print "We can't decide."

Page 15: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Comparators and Booleans Operators

3/10/2016 Python basics 15

print 2 == 1

print 'string' == "string"

print not False

print 2==1 and True

print 2==1 or True

Page 16: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Comparators and Booleans Operators

3/10/2016 Python basics 16

print 2 == 1 # False

print 'string' == "string" # True

print not False # True

print 2==1 and True # False

print 2==1 or True # True

Page 17: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Characters

3/10/2016 Python basics 17

for char in "hello":

print char

h

e

l

l

o

Page 18: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Characters

3/10/2016 Python basics 18

say_hello = "hello!"

print say_hello[1]

e

index

Page 19: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Characters

3/10/2016 Python basics 19

say_hello = "hello!"

print type(say_hello[1])

<type 'str'>

Page 20: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Combining Strings

3/10/2016 Python basics 20

language_name = "Python"

version = '2.7.11'

python_version = language_name + version

# python_version is Python2.7.11

print "my " + "name" # my name

concatenation

Page 21: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Combining Strings

3/10/2016 Python basics 21

language_name = "Python"

a_lot_of_python = language_name*3

# a_lot_of_python is PythonPythonPython

repetition

Page 22: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Building Complex Strings

3/10/2016 Python basics 22

a = 3

b = 5

# 3 times 5 is 15

print a, "times", b, "is", a*b

works with print, only

Page 23: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Building Complex Strings

3/10/2016 Python basics 23

a = 3

b = 5

# 3 times 5 is 15

result = a + " times " + b + " is " + a*b

Page 24: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Building Complex Strings

3/10/2016 Python basics 24

a = 3

b = 5

# 3 times 5 is 15

result = a + " times " + b + " is " + a*b

#TypeError: unsupported operand type(s)

Page 25: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Building Complex Strings

3/10/2016 Python basics 25

a = 3

b = 5

# 3 times 5 is 15

result = str(a) + " times " + str(b) + "

is " + str(a*b)

Page 26: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String Interpolation

3/10/2016 Python basics 26

a = 3

b = 5

# 3 times 5 is 15

result = "%d times %d is %d" %(a, b, a*b)

Specifiers• %s, format strings• %d, format numbers• %r, raw representation

tuplespecifiers.py

Page 27: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String Interpolation

3/10/2016 Python basics 27

a = 3

b = 5

# 3 times 5 is 15

result = "{} times {} is {}".format(a, b,

a*b)

new way!

Page 28: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String Immutability

3/10/2016 Python basics 28

# hello

say_hello = "helko"

# ops…

say_hello[3] = "l"

Page 29: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String Immutability

3/10/2016 Python basics 29

# hello

say_hello = "helko"

# ops…

say_hello[3] = "l"

# TypeError

Page 30: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

String Immutability

3/10/2016 Python basics 30

# hello

say_hello = "helko"

# ops…

say_hello = "hello"

Other operations with strings? Python docs

Page 31: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Getting Input

3/10/2016 Python basics 31

print "How old are you?"

age = raw_input() # age is a string

print "You are " + age + " years old"

Page 32: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Getting Input

3/10/2016 Python basics 32

print "How old are you?"

age = raw_input() # age is a string

print "You are " + age + " years old"

# I want "age" to be a number!

age = int(raw_input())

Page 33: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Getting Input

3/10/2016 Python basics 33

age = raw_input("How old are you? ")

print "You are " + age + " years old"

Page 34: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

List

3/10/2016 Python basics 34

fruits = ["apples", "oranges", "pears"]

count = [1, 2, 3, 4, 5]

change = [1, "pennies", 2, "dimes"]

a datatype to store multiple items, in sequence

Page 35: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Dictionary

3/10/2016 Python basics 35

legs = {"ant": 6, "snake": 0, "cow": 4}

states = {"Italy": "IT", "Germany": "DE"}

a datatype to store multiple items, not in sequence

key, immutable

value

Page 36: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Loops

3/10/2016 Python basics 36

doctor = 1

while doctor <= 13:

exterminate(doctor)

doctor += 1

Page 37: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

For Loop: Strings

3/10/2016 Python basics 37

for char in "hello":

print char

h

e

l

l

o

Page 38: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

For Loop: Ranges

3/10/2016 Python basics 38

for number in range(0,5):

print number

0

1

2

3

4

Page 39: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

For Loop: Ranges

3/10/2016 Python basics 39

for number in range(0,25,5):

print number

0

5

10

15

20

Page 40: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

For Loop: Lists

3/10/2016 Python basics 40

fruits = ["apples", "oranges", "pears"]

for fruit in fruits:

print "I love", fruit

I love apples

I love oranges

I love pears

Page 41: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

For Loop: Dictionaries

3/10/2016 Python basics 41

legs = {"ant": 6, "snake": 0, "cow": 4}

for (animal, number) in legs.items():

print "{} has {} legs".format(animal,

number)

ant has 6 legs

snake has 0 legs

cow has 4 legs

Page 42: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Printing a List

3/10/2016 Python basics 42

to_buy = ["eggs", "milk"]

print to_buy

['eggs', 'milk']

Page 43: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Printing a List

3/10/2016 Python basics 43

to_buy = ["eggs", "milk"]

print to_buy[0]

eggs

Page 44: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 44

to_buy = ["eggs", "milk"]

print to_buy[0]

to_buy[0] = "butter"

print to_buy[0]

eggs

butter

Page 45: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 45

to_buy = ["eggs", "milk"]

# I need to buy chocolate!

to_buy.append("chocolate")

['eggs', 'milk', 'chocolate']

Page 46: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 46

to_buy = ["eggs", "milk"]

to_buy.append("chocolate")

to_buy.extend(["flour", "cheese"])

['eggs', 'milk', 'chocolate', 'flour', 'cheese']

Page 47: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 47

to_buy = ["eggs", "milk"]

to_buy.append("chocolate")

to_buy = to_buy + ["flour", "cheese"]

['eggs', 'milk', 'chocolate', 'flour', 'cheese']

concatenation

Page 48: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 48

to_buy = ["eggs", "milk", "chocolate",

"flour", "cheese"]

print to_buy[1:3]

['milk', 'chocolate']

slice operator

Page 49: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 49

to_buy = ["eggs", "milk", "chocolate",

"flour", "cheese"]

# make a full copy of the list

remember = to_buy[:]

works with strings, too

Page 50: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 50

to_buy = ["eggs", "milk", "chocolate",

"flour", "cheese"]

# I don't need cheese!

to_buy.pop()

# … neither milk, by the way!

to_buy.pop(1)

Page 51: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 51

to_buy = ["eggs", "milk", "chocolate",

"flour", "cheese"]

# I don't need cheese!

to_buy.remove("cheese")

# … neither milk, by the way!

to_buy.remove("milk")

Page 52: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a List

3/10/2016 Python basics 52

to_buy = ["eggs", "milk", "chocolate",

"flour", "cheese"]

# I want my original list back!

del to_buy[2:6]

['eggs', 'milk']

Page 53: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Strings vs. Lists

3/10/2016 Python basics 53

A string is a sequence of characters…

… but a list of characters is not a string

language_name = "Python"

# string to list

name = list(language_name)

Page 54: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Strings vs. Lists

3/10/2016 Python basics 54

sentence = "this is AmI"

# break a string into separate words

words = sentence.split()

['this', 'is', 'AmI']

Page 55: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Copying Lists

3/10/2016 Python basics 55

fruits = ['apple', 'orange']

favorite_fruits = fruits

# add a fruit to the original list

fruits.append('banana')

print 'The fruits now are:', fruits

print 'My favorite fruits are', favorite_fruits

Fruits are: ['apple', 'orange', 'banana']

My favorite fruits are: ['apple', 'orange',

'banana']

???

Page 56: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Copying Lists

3/10/2016 Python basics 56

fruits = ['apple', 'orange']

favorite_fruits = fruits

# add a fruit to the original list

fruits.append('banana')

print 'The fruits now are:', fruits

print 'My favorite fruits are', favorite_fruits

We do not make a copy of the entire list, but we only make a reference to it!

Page 57: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Copying Lists (For Real!)

3/10/2016 Python basics 57

# option 1: slice

favorite_fruits = fruits[:]

#option 2: create a new list - best!

favorite_fruits = list(fruit)

#extend an empty list

favorite_fruits.extends(fruit)

Other operations with lists? Python docs

Page 58: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Printing a Dictionary

3/10/2016 Python basics 58

legs = {"ant": 6, "snake": 0 }

print legs

{'ant': 6, 'snake': 0}

Page 59: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a Dictionary

3/10/2016 Python basics 59

legs = {"ant": 6, "snake": 0 }

legs["spider"] = 273

{'ant': 6, 'snake': 0, 'spider': 273}

Page 60: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a Dictionary

3/10/2016 Python basics 60

legs = {"ant": 6, "snake": 0 }

legs["spider"] = 273 # basically, run!

legs["spider"] = 8 # better!

{'ant': 6, 'snake': 0, 'spider': 8}

Page 61: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modifying a Dictionary

3/10/2016 Python basics 61

legs = {"ant": 6, "snake": 0, "spider": 8}

# I don't like spiders

legs.del["spider"]

# Clear all the things!

legs.clear()

Page 62: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Retrieving a Value from a Dictionary

3/10/2016 Python basics 62

legs = {"ant": 6, "snake": 0}

# get "ant"!

legs["ant"] # 6

# get "spider"

legs["spider"]

Page 63: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Retrieving a Value from a Dictionary

3/10/2016 Python basics 63

legs = {"ant": 6, "snake": 0}

# get "ant"!

legs["ant"] # 6

# get "spider"

legs["spider"]

# KeyError: spider

Page 64: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Retrieving a Value from a Dictionary

3/10/2016 Python basics 64

legs = {"ant": 6, "snake": 0}

# check if "spider" is in the dictionary

"spider" in legs # False

# get "spider" without throwing errors

legs.get("spider") # None

# get "spider" with a custom value

legs.get("spider", "Not present")

Page 65: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Functions

3/10/2016 Python basics 65

def say_hello():

print "Hello!"

say_hello()

definition

call

Page 66: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Functions with Parameters

3/10/2016 Python basics 66

def say_hello_to(name):

print "Hello", name

say_hello_to("AmI students")

Page 67: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Default Parameter Values

3/10/2016 Python basics 67

def say_hello_to(name="AmI"):

print "Hello", name

say_hello_to() # Hello AmI

say_hello_to("students") # Hello students

Page 68: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Returning Values

3/10/2016 Python basics 68

def build_greetings(name="AmI"):

return "Hello" + name

greeting = build_greetings()

print greeting # Hello AmI

Page 69: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Returning Multiple Values

3/10/2016 Python basics 69

def build_greetings(name="AmI"):

return ("Hello", name)

(greeting, person) = build_greetings()

print greeting + " to " + person

# Hello to AmI

Page 70: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Documenting Functions

3/10/2016 Python basics 70

def build_greetings(name="AmI"):

'''Build a greeting in the format

Hello plus a given name'''

return ("Hello", name)

docstring

Page 71: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Modules

3/10/2016 Python basics 71

• A way to logically organize the code

• They are files consisting of Python code

– they can define (and implement) functions, variables, etc.

– typically, the file containing a module is called in the same way

• e.g., the math module resides in a file named math.py

Page 72: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Importing a Module

3/10/2016 Python basics 72

import math # import the math module

print math.pi # print 3.141592…

from math import pi # import pi, only!

print pi # print 3.141592…

from math import * # import all the names

print pi DO NOT USE

Page 73: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Command Line Parameters

3/10/2016 Python basics 73

from sys import argv

script, first = argv

print "The script is called:", script

print "The parameter is:", first

> python my_script.py one

The script is called: my_script.py

The parameter is: one

unpacking

Page 74: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Reading Files

3/10/2016 Python basics 74

from sys import argv

filename = argv[1]

txt = open(filename)

print "Here's your file %r:", % filename

print txt.read()

open the file

show the file content

Page 75: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Writing Files

3/10/2016 Python basics 75

from sys import argv

filename = argv[1]

# open the file in write mode

target = open(filename, "w")

target.truncate() # empties the file

# write a string into the file

target.write("This is the new content")

target.close() # close the file

Page 76: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

References and Links

• Python Documentation, http://docs.python.org/2

• The Python Tutorial, http://docs.python.org/2/tutorial/

• The Google Python course, https://developer.google.com/edu/python

• Online Python Tutor, http://pythontutor.com

• «Think Python: How to think like a computer scientist», Allen Downey, Green Tea Press, Needham, Massachusetts

• «Dive into Python 2», Mark Pilgrim

• «Learn Python the Hard Way», Zed Shaw

• «Learning Python» (5th edition), Mark Lutz, O'Reilly

3/10/2016 Python basics 76

Page 77: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

Questions?01QZP AMBIENT INTELLIGENCE

Luigi De Russis

[email protected]

Page 78: Python - polito.it · 3/10/2016 Python basics 72 import math # import the math module print math.pi # print 3.141592… from math import pi # import pi, only! print pi # print 3.141592…

License

• This work is licensed under the Creative Commons “Attribution-NonCommercial-ShareAlike Unported (CC BY-NC-SA 3,0)” License.

• You are free:– to Share - to copy, distribute and transmit the work– to Remix - to adapt the work

• Under the following conditions:– Attribution - You must attribute the work in the manner specified by the

author or licensor (but not in any way that suggests that they endorse you or your use of the work).

– Noncommercial - You may not use this work for commercial purposes.– Share Alike - If you alter, transform, or build upon this work, you may

distribute the resulting work only under the same or similar license to this one.

• To view a copy of this license, visit http://creativecommons.org/license/by-nc-sa/3.0/

3/10/2016 Version Control with Git 78