Suite, relations de récurrence et fonctions#
while#
while (3 > 2):
# do something
Avec une variable n qui puisse varier, on peut arreter le flux d’exécution du cycle while.
n = 0
while n < 3:
print("La valeur de n=" + str(n))
n += 1
Pour arreter le boucle
while, lors d’une condition, il suffit d’ajouter l’instructionbreak. Mais ce n’est pas recommandé de l’utiliser assez souvent :’). C’est la programmation spaghetti.
for#
for i in range(5):
print(i) # 0 1 2 3 4
Pour cela on utilise l’instruction range(start, stop, step).
Si on veut transformer un objet
rangeen objetlist
list(range(5))
On peut utiliser l’instruction enumerate() pour savoir l’indice de chaque élement.
Pour itérer sur un dictionnaire
for k, v in dictionnaire.items():. Aveckle mot clé etvsa valeur.
Pour numpy:
Si on veut itérer sur tous les éléments d’un tableau 2D, on peut utiliser la fonction Numpy
np.nditer()
Pour Pandas dataframe:
Si on veut itérer sur un dataframe il suffit:
for label, row in df.iterrows():, aveclabelcomme l’indice de la ligne etrowcomme la valeur de toute la ligne.
Si on veut obtenir une colonne en particulaire, il faut par exemple dans l’itération: row['colonne'], avec 'colonne' le nom de la colonne à filtrer.
On peut aussi filtrer avec df.iteritems() au lieu de df.iterrows(). ça va filtrer par colonnes.
Fonctions#
def my_fonction ():
print("Hola mundo")
Pour éxecuter la fonction il suffit d’ajouter : my_fonction() et voilà.
Il faut faire attention avec l’scope de chaque fonction, où les variables ne sont pas forcément globales.
On peut avoir des fonctions avec paramètres et arguments comme par exemple:
def your_name ( name ):
print("Your name is " + name )
my_name("Giulia")
Les fonctions peuvent aussi retourner des valeurs, qu’on pourrait utiliser après, comme par exemple:
def fullname(firstname,lastname):
return firstname + " " + lastname
fullname("Giulia","M.")
N’oublier commenter les fonctions avec les
Docstringsc’est à dire les""" something """.
On peut retourner plusieurs valeurs de chaque fonction. Les valeurs doivent être retourners sous la forme d’une tuple. Exemple return (a, b, c, d). Ainsi que pour obtenir ces variables dehors de la fonction, on peut faire comme ça:
def my_fonction():
a = 1
b = 2
return (a,b)
x, y = my_fontion()
Lambda
C’est très importante
Pour une fonction en forme lambda:
lambda name : "Je suis " + name
Avec name le nom variable et après les :, l’instruction.
Si on veut donner une valeur d’entrée:
(lambda name : "Je suis " + name)("Giulia")
Ainsi avec une variable:
best_name = lambda name : "Je suis " + name
best_name("Giulia")
Un petit remarque des exercices:
Il y a la fonction
plt.semilogy()qui peut plotter sur une grille logaritmique.