Cours de Python de A à Z

Python est l’un des langages de programmation les plus utilisés. Apprendre à coder avec Python est une compétence très recherchée dans beaucoup de métiers. Et pas uniquement pour les développeurs logiciels à temps plein. Tout le monde peut apprendre !

Python vous permet d’automatiser des tâches comme envoyer des emails ou écrire dans des fichiers… Tout ça pour vous aider à terminer des tâches plus efficacement.

Ce cours s’adresse aux personnes qui n’ont jamais vu une ligne de code ou qui n’ont jamais entendu parler de Python. Nous allons avancer ensemble pas à pas de façon amusante et facile à comprendre. Je sais ce que ça fait d’être intimidé par le code ou de n’y rien comprendre. Je veux donc m’assurer que personne ne ressente la même chose. 

Dans ce cours, vous allez enregistrer des informations en tant que données en Python. Vous allez contrôler la logique dans votre code avec des conditions, des boucles et des fonctions. Vous allez aussi automatiser la récupération de données à partir du web avec les packages Requests, Beautiful Soup et CSV dans le processus appelé extraction de données web. Vous allez beaucoup apprendre et vous passerez un bon moment !

I- Python : Introduction

Python est un langage de programmation interprété, facile à apprendre et très populaire. Dans cette première partie de cours, vous allez découvrir les bases de Python, notamment les variables, les types de données et les opérations de base.

  1. Présentation de Python et de son environnement de développement

Python peut être utilisé sur différents systèmes d’exploitation tels que Windows, Mac et Linux. Vous aurez besoin d’un environnement de développement Python pour écrire, tester et exécuter votre code Python. L’IDE (Integrated Development Environment) le plus populaire pour Python est PyCharm. Il existe également d’autres options telles que VS Code, Sublime Text, Spyder, etc.

II- Python : Variables, types de données et opérations

  1. Les bases de la programmation : variables, types de données et opérations

Les variables sont utilisées pour stocker des valeurs en Python. Pour déclarer une variable, il suffit de lui donner un nom et une valeur. Par exemple :

age = 25
nom = "Jean"

Il existe plusieurs types de données en Python, tels que les entiers (int), les flottants (float), les chaînes de caractères (string) et les booléens (bool). Vous pouvez utiliser la fonction type() pour connaître le type de données d’une variable.

Les opérations de base en Python incluent l’addition (+), la soustraction (-), la multiplication (*), la division (/), le modulo (%) et la puissance (**). Par exemple :

x = 10
y = 3
z = x + y # addition
a = x / y # division
b = x % y # modulo
c = x ** y # puissance
  1. Utilisation de la console Python pour tester du code

La console Python est un outil utile pour tester rapidement du code. Pour ouvrir la console Python, tapez « python » dans la ligne de commande de votre terminal. Vous pouvez ensuite taper du code Python dans la console et l’exécuter directement. Par exemple :

>>> x = 5
>>> y = 3
>>> print(x + y)
8

Exercices

III- Python : Structures de contrôle

Dans cette partie, nous allons étudier les structures de contrôle en Python, qui sont utilisées pour contrôler le flux d’exécution du programme. Les structures de contrôle principales sont if, else et elif.

  1. Les structures de contrôle if, else et elif

La structure de contrôle if permet de tester une condition et d’exécuter un bloc de code si la condition est vraie. Voici un exemple :

age = 25
if age >= 18:
    print("Vous êtes majeur")

Dans cet exemple, si l’âge est supérieur ou égal à 18 ans, le message « Vous êtes majeur » sera affiché.

La structure de contrôle else permet d’exécuter un bloc de code si la condition de l’instruction if est fausse. Voici un exemple :

age = 15
if age >= 18:
    print("Vous êtes majeur")
else:
    print("Vous êtes mineur")

Dans cet exemple, si l’âge est inférieur à 18 ans, le message « Vous êtes mineur » sera affiché.

La structure de contrôle elif est utilisée pour tester plusieurs conditions. Elle est souvent utilisée en conjonction avec if et else. Voici un exemple :

age = 20
if age < 18:
    print("Vous êtes mineur")
elif age < 25:
    print("Vous êtes jeune adulte")
else:
    print("Vous êtes adulte")

Dans cet exemple, si l’âge est inférieur à 18 ans, le message « Vous êtes mineur » sera affiché. Si l’âge est compris entre 18 et 24 ans, le message « Vous êtes jeune adulte » sera affiché. Si l’âge est supérieur ou égal à 25 ans, le message « Vous êtes adulte » sera affiché.

Exercices

IV- Python : Les boucles

Dans cette partie, nous allons étudier les boucles en Python, qui permettent de répéter des instructions ou d’itérer sur des éléments. Les boucles principales sont while et for.

  1. La boucle while

La boucle while permet de répéter un bloc de code tant qu’une condition est vraie. Voici un exemple :

x = 1
while x <= 5:
    print(x)
    x += 1

Dans cet exemple, la boucle while répète l’affichage de la variable x tant que x est inférieure ou égale à 5. La variable x est incrémentée de 1 à chaque itération avec x += 1.

Attention à ne pas créer une boucle infinie accidentellement, c’est-à-dire une boucle qui ne se terminera jamais car la condition ne sera jamais fausse.

  1. La boucle for

La boucle for est utilisée pour itérer sur une séquence d’éléments, tels que des listes, des tuples, des chaînes de caractères ou des dictionnaires. Voici un exemple :

nombres = [1, 2, 3, 4, 5]
for nombre in nombres:
    print(nombre)

Dans cet exemple, la boucle for itère sur la liste de nombres et affiche chaque nombre à l’écran. La variable nombre prend la valeur de chaque élément de la liste à chaque itération.

Il est également possible d’itérer sur des chaînes de caractères :

chaine = "Bonjour"
for lettre in chaine:
    print(lettre)

Dans cet exemple, la boucle for itère sur la chaîne de caractères « Bonjour » et affiche chaque lettre à l’écran.

  1. Les instructions break et continue

Il est parfois utile de sortir d’une boucle prématurément ou de passer à l’itération suivante sans exécuter le reste du code. Pour cela, Python propose deux instructions : break et continue.

L’instruction break permet de sortir d’une boucle prématurément. Voici un exemple :

nombres = [1, 2, 3, 4, 5]
for nombre in nombres:
    if nombre == 3:
        break
    print(nombre)

Dans cet exemple, la boucle for itère sur la liste de nombres et affiche chaque nombre à l’écran jusqu’à ce que le nombre 3 soit atteint. L’instruction break permet de sortir de la boucle à ce moment-là.

L’instruction continue permet de passer à l’itération suivante sans exécuter le reste du code. Voici un exemple :

nombres = [1, 2, 3, 4, 5]
for nombre in nombres:
    if nombre == 3:
        continue
    print(nombre)

Dans cet exemple, la boucle for itère sur la liste de nombres et affiche chaque nombre à l’écran, sauf le nombre 3 pour lequel l’instruction continue est exécutée et passe à l’itération suivante sans exécuter le reste du code.

Exercices

V- Python : Fonctions

Dans cette partie, nous allons étudier les fonctions en Python, qui permettent de regrouper des blocs de code réutilisables.

Les fonctions sont des éléments clés de la programmation en Python et permettent de créer des programmes modulaires et réutilisables. Il est important de bien comprendre leur utilisation et leur syntaxe pour pouvoir écrire du code efficace et maintenable.

  1. Définition de fonctions

Une fonction est définie avec le mot clé def suivi du nom de la fonction et de ses paramètres entre parenthèses, et finalement de deux points. Le corps de la fonction est indenté sous la définition.

Voici un exemple de fonction qui calcule la somme de deux nombres :

def addition(a, b):
    resultat = a + b
    return resultat

Dans cet exemple, la fonction addition prend deux paramètres a et b, calcule leur somme dans la variable resultat, et retourne cette valeur.

  1. Appel de fonctions

Pour utiliser une fonction, on appelle son nom avec ses paramètres entre parenthèses. Voici un exemple d’appel de la fonction addition :

x = 2
y = 3
z = addition(x, y)
print(z)

Dans cet exemple, la fonction addition est appelée avec les paramètres x et y, qui valent respectivement 2 et 3. Le résultat est stocké dans la variable z, qui vaut donc 5. La fonction print est ensuite utilisée pour afficher le résultat.

  1. Paramètres optionnels

Il est possible de définir des paramètres optionnels dans une fonction en leur attribuant une valeur par défaut. Voici un exemple de fonction qui affiche un message de salutation avec un nom optionnel :

def saluer(nom=""):
    if nom:
        print("Bonjour, " + nom + " !")
    else:
        print("Bonjour !")

Dans cet exemple, la fonction saluer prend un paramètre optionnel nom, qui vaut une chaîne de caractères vide par défaut. Si le paramètre nom est spécifié, la fonction affiche un message de salutation personnalisé avec le nom. Sinon, la fonction affiche un message de salutation général.

  1. Fonctions lambda

Les fonctions lambda sont des fonctions anonymes qui ne nécessitent pas de nom de fonction. Elles sont généralement utilisées comme arguments de fonctions plus grandes. Voici un exemple de fonction lambda qui calcule le carré d’un nombre :

carre = lambda x: x ** 2
print(carre(5))

Dans cet exemple, la fonction lambda carre prend un paramètre x et retourne sa valeur au carré. La fonction print est ensuite utilisée pour afficher le carré de 5.

Exercices

VI- Python : Structures de données

Dans cette partie de notre cours de Python, nous allons étudier les structures de données en Python, qui permettent de stocker et de manipuler des collections d’éléments.

  1. Listes

Une liste est une collection ordonnée et modifiable d’éléments, qui peuvent être de différents types (nombres, chaînes de caractères, listes, etc.). Les éléments d’une liste sont séparés par des virgules et sont entourés de crochets. Voici un exemple de liste :

ma_liste = [1, 2, 3, "quatre", "cinq"]

Dans cet exemple, la liste ma_liste contient cinq éléments : les nombres 1, 2 et 3, ainsi que les chaînes de caractères « quatre » et « cinq ». Les éléments de la liste peuvent être accédés en utilisant leur index, qui commence à 0 pour le premier élément. Voici des exemples d’accès aux éléments de la liste :

print(ma_liste[0])  # affiche 1
print(ma_liste[3])  # affiche "quatre"

Il est possible de modifier les éléments d’une liste en utilisant leur index. Voici un exemple qui modifie le deuxième élément de la liste :

ma_liste[1] = 42
print(ma_liste)  # affiche [1, 42, 3, "quatre", "cinq"]
  1. Tuples

Un tuple est une collection ordonnée et immuable d’éléments, qui peuvent être de différents types. Les éléments d’un tuple sont séparés par des virgules et sont entourés de parenthèses. Voici un exemple de tuple :

mon_tuple = (1, 2, 3, "quatre", "cinq")

Dans cet exemple, le tuple mon_tuple contient les mêmes éléments que la liste ma_liste précédente, mais il est immuable, ce qui signifie que ses éléments ne peuvent pas être modifiés.

  1. Dictionnaires

Un dictionnaire est une collection non ordonnée et modifiable d’éléments, qui sont stockés sous forme de paires clé-valeur. Les clés doivent être uniques et immuables, tandis que les valeurs peuvent être de différents types. Les paires clé-valeur sont séparées par des virgules et sont entourées d’accolades. Voici un exemple de dictionnaire :

mon_dictionnaire = {"prenom": "Jean", "nom": "Dupont", "age": 35}

Dans cet exemple, le dictionnaire mon_dictionnaire contient trois paires clé-valeur : la clé « prenom » est associée à la valeur « Mohamed », la clé « nom » est associée à la valeur « Alouch », et la clé « age » est associée à la valeur 25. Les éléments d’un dictionnaire peuvent être accédés en utilisant leur clé. Voici des exemples d’accès aux éléments du dictionnaire :

print(mon_dictionnaire["prenom"])  # affiche "Mohamed"
print(mon_dictionnaire["age"])  # affiche 24

Il est possible de modifier ou d’ajouter des paires clé-valeur à un dictionnaire en utilisant la notation d’index et d’affectation. Voici des exemples qui modifient et ajoutent des paires clé-valeur à mon_dictionnaire :

mon_dictionnaire["age"] = 18  # modifie la valeur associée à la clé "age"
mon_dictionnaire["ville"] = "Casablanca"  # ajoute une nouvelle paire clé-valeur
print(mon_dictionnaire)  # affiche {"prenom": "Omar", "nom": "Fadili", "age": 8, "ville": "Casablanca"}
  1. Ensembles

Un ensemble est une collection non ordonnée et modifiable d’éléments uniques, qui peuvent être de différents types. Les éléments d’un ensemble sont séparés par des virgules et sont entourés d’accolades. Voici un exemple d’ensemble :

mon_ensemble = {1, 2, 3, 4, 5}

Dans cet exemple, l’ensemble mon_ensemble contient les nombres de 1 à 5, dans un ordre quelconque. Les éléments d’un ensemble peuvent être ajoutés ou supprimés en utilisant des méthodes spécifiques. Voici des exemples d’utilisation de ces méthodes :

mon_ensemble.add(6)  # ajoute l'élément 6 à l'ensemble
mon_ensemble.remove(3)  # supprime l'élément 3 de l'ensemble
print(mon_ensemble)  # affiche {1, 2, 4, 5, 6}