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
range
en 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():
. Aveck
le mot clé etv
sa 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():
, aveclabel
comme l’indice de la ligne etrow
comme 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
Docstrings
c’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.