Python 3
Notion de variable
La notion de variable désigne un conteneur ayant pour but de stocker une valeur sous forme de donnée ayant une adresse mémoire propre.
Les principaux types de données
Les valeurs énoncées dans la partie précédente sont d’un type précis, ici on décrit les principaux types de données.
Catégories de données | Types de données |
---|---|
Type de texte | str |
Types numériques | int , float , complex |
Types de séquence | list , tuple , range |
Type de mappage | dict |
Type booléen | bool |
Opérateurs
Il est possible de faire interagir les variables entre elles à l’aide d’opérateurs afin de générer des valeurs de type bool
(qui pourront être par la suite utilisées pour faire usage d’instruction conditionnelle ou d’instruction de boucle de la forme while
).
Différents opérateurs | Types de données |
---|---|
Opérateurs de comparaison | == , != , > , < , >= , <= |
Opérateurs logiques | and , or , not |
Opérateurs d’appartenance | in , not in |
if
Instruction conditionnelle
Une instruction conditionnelle est une instruction (appel de fonction, affectation de variable, etc.) qui sera ignorée ou considérée en fonction de la valeur du booléen placé à la suite du mot “if”. Si ce booléen vaut True, l’instruction sera considérée et si ce booléen vaut False, l’instruction sera ignorée.
if True :
print('Ceci sera affiché')
else:
print('Ceci ne sera pas affiché')
if False :
print('Ceci ne sera pas affiché')
else:
print('Ceci sera affiché')
Instructions de boucle
while
Une instruction de boucle de la forme while
est très proche d’une instruction conditionnelle mise à part qu’au lieu de simplement ignorer ou considérer une instruction, on va répéter en boucle l’instruction temps que la valeur du booléen n’est pas False.
while True :
print('Ceci sera répété en boucle')
while False :
print('Ceci ne sera pas répété en boucle')
for
Une instruction de boucle de la forme for
permet essentiellement de parcourir une séquence (cela correspond à 3 types comme vu précédemment : list
, tuple
et range
).
On peut parcourir ainsi une liste de façon on ne peut plus classique.
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
On peut incrémenter une valeur au fur et à mesure des répétitions d’un boucle grâce à range().
for x in range(2, 6):
print(x)
Cela peut nous amener à une alternative de la première boucle permettant de garder en note l’indice de l’élément courant.
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
fruit = fruits[i]
print(fruit)
Fonctions
Définition
Pour définir une fonction, on utilise le mot-clé def
.
def my_function():
print("Hello from a function")
Appel
Pour appeler une fonction, utilisez le nom de la fonction suivi de parenthèses.
my_function()
Arguments
Il est possible de transmettre des valeurs qui changeront à chaque appel d’une fonction à l’aide d’arguments. Ces valeurs peuvent être contenues dans des variables dont on indiquera le nom ou alors on pourra directement donner les valeurs souhaitées. Les arguments sont spécifiés après le nom de la fonction, entre parenthèses. Il n’y a pas de limites dans le nombre d’arguments, il suffit juste de les séparer entre eux à l’aide d’une virgule.
def my_function(nickname):
print(f"Son surnom est: {nickname}")
florian_nickname = "Palpek"
my_function(florian_nickname)
my_function("Alphonse")
L’exemple ci-dessus présente une fonction avec un seul argument nommé “nickname”. À chaque fois que nous réalisons un appel de la fonction, nous transmettons un prénom, qui est utilisé à l’intérieur de la fonction pour afficher dans le terminal le nom complet.
Récursivité
Une fonction est dite récursive si elle s’appelle elle-même. Il faut être très prudent avec la récursivité car il est très vite possible de tomber dans le cas d’une fonction qui ne se termine jamais ou qui a une consommation excessive de ressource.
Un très bon exemple afin de se faire une idée de ce qu’est une fonction récursive et de son éventuel intérêt est la fonction puissance(y, n)
ci-dessous. Il est à noter que dans un cas réel, il suffit de faire print(y**n)
.
def puissance(y, n):
if n == 0:
return 1
else:
return y*puissance(y, n-1)
print(puissance(2, 3))