Méthodologie de la Programmation
Notes de cours - Séance I

ls sur un fichier / dossier

ls -la | grep filename

Typage Fort

# Erreur score = 42 print("le score est " + score)
# Bonne chose à faire str(score) print("le score est " + str(score))

Typage Dynamique

a = 42 type(a) a = "test" type(a)
a = 42 type(a) a = "test" type(a) def truc(a): return "42" + a truc("truc") # marche truc(42) # plante

Definir None

def func_none(): pass print(func_none())

Comparer == et is

list1 = [] list2 = [] list3 = list1 list1 == list2 # True list1 is list2 #False list1 is list3 #True list3 = list3 + list2 list1 is list3 # False

Flottants

a = 13.51 # float a = 13,51 # tuple

Strings

a = "bli" b = 'bli' a == b # True
"Je m'appelle Python" "dites \"AAAAAAH\"." 'Je m\'appelle Python' 'dites "AAAAAAH".' "cou" * 2 # vaut "coucou" "MIT" + "SIC" # vaut "MITSIC"

Tuples

nom, age = "Bob", 24 age, nom = nom, age
def return_tuple(a, b): return b, a c = return_tuple(42, 227) type(c) # tuple len(c) # 2 c[0] # 42 c[1] # 227

Dictionnaires

mdlp = { 'niveau': 'L1', 'semestre': 1, 'enseignants': { 'A': 'JP Palus', 'B': 'S Chalençon', 'C': 'A Pappa' } } mdlp['niveau'] # 'L1' mdlp['enseignants']['A'] # 'JP Palus'

Itération sur les listes

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [n * 2 for n in lst] # multiplie par 2 chaque élément de n [n * n for n in lst if (n % 2) == 0] # met au carré les élements pairs

Fonctions

def f(n): # factorielle result = 1 while n > 1: result = n * result n = n - 1 return result

Scope

a = 5 # global def fct(arg): b = "foo" r = b * (a + arg) # ici a est accessible a = 10 return r fct(42) # b et r ne sont plus accessibles ici # mais ça plante car a est une variable local à fct
a = 5 # global def fct(arg): global a b = "foo" r = b * (a + arg) # ici a est accessible a = 10 return r fct(42) # b et r ne sont plus accessibles ici # ici a vaut 10

Passage des arguments

def f (lst1, lst2): lst1 = [1, 2, 3] # affectation d'une nouvelle liste lst2.append(13) # ajout d'élément en place a = [0, 1, 0, 1] b = [10, 11, 12] print(a) # [0, 1, 0, 1] print(b) # [10, 11, 12] f(a, b) print(a) # [0, 1, 0, 1] print(b) # [10, 11, 12, 13]

Arguments par défaut

def get_distance (speed, duration = 1/6): # par défaut, on calcul la distance parcouru en 10 minutes return speed * duration get_distance(50, 0.5) get_distance(130)