Aller au contenu

Apprenez Python

Mise à jour :

logo python

Python est un langage de programmation polyvalent qui a gagné en popularité dans de nombreux domaines de l’informatique, y compris l’automatisation des opérations, la gestion des systèmes, la sécurité informatique et le développement. Que vous ayez l’intention de travailler dans le domaine de la sécurité, de l’exploitation système, du développement logiciel ou du DevOps, les compétences en Python sont un atout précieux. Alors, prêt à plonger dans le monde de Python pour l’automatisation, la SRE et le DevOps ?

C’est parti !

Histoire du langage Python

Python a été créé en 1989 par Guido van Rossum, avec l’idée de concevoir un langage simple et flexible, inspiré par ABC. En 1991, la première version publique de Python (0.9.0) voit le jour, introduisant des concepts comme les fonctions, les classes et les modules, qui deviennent des piliers du langage. Trois ans plus tard, en 1994, Python 1.0 est publié, avec des fonctionnalités clés comme la gestion des exceptions et des modules plus robustes.

En 2000, Python 2.0 est lancé, apportant des innovations comme la gestion automatique de la mémoire et les compréhensions de listes, ce qui améliore la flexibilité et la lisibilité du code. Puis, en 2008, Python 3.0 est introduit, avec des améliorations profondes mais non rétrocompatibles, marquant une nouvelle ère pour le langage.

La transition complète vers Python 3 prend du temps, mais en janvier 2020, Python 2.7 atteint sa fin de vie, consacrant Python 3 comme la version standard. Enfin, en 2023, Python 3.12 est publié, offrant de meilleures performances et de nouvelles fonctionnalités pour continuer à faire évoluer le langage.

Aujourd’hui, Python est largement utilisé dans des domaines variés comme le développement Web, l’intelligence artificielle et la science des données, grâce à sa simplicité et à une communauté très active. Les caractéristiques principales de Python incluent :

Premier Contact avec le Langage Python

Lorsque vous entrez pour la première fois en contact avec Python, ce qui se démarque immédiatement est sa simplicité et sa lisibilité. Python est conçu pour être facile à comprendre, même pour les débutants, avec une syntaxe intuitive qui favorise la clarté du code.

Syntaxe Claire et Lisibilité

Contrairement à d’autres langages qui utilisent des accolades ou des symboles complexes pour délimiter les blocs de code, Python repose sur une indentation stricte. Cela signifie que la structure du programme est définie par des espaces ou des tabulations, ce qui rend le code plus lisible et encourage de bonnes pratiques de programmation.

Exemple :

if 5 > 3:
print("5 est plus grand que 3")

Exécution Interactive

Un autre aspect agréable du premier contact avec Python est la possibilité d’interagir avec l’interpréteur en temps réel. Vous pouvez entrer des commandes et voir instantanément les résultats, ce qui facilite l’apprentissage et l’expérimentation.

Exemple :

>>> print("Bonjour, Python!")
Bonjour, Python!

Cette interaction directe permet de tester des idées et de comprendre rapidement les concepts de base.

Variables et Typage Dynamique

En Python, les variables sont créées dès qu’une valeur leur est assignée, et vous n’avez pas besoin de spécifier leur type. Cela permet de se concentrer sur l’algorithme plutôt que sur la gestion des types de données.

Exemple :

x = 10
nom = "Python"
print(x, nom)

Ce typage dynamique simplifie les premières étapes en programmation, tout en rendant le code plus naturel à écrire.

Une Communauté Accueillante

Dès les premiers pas avec Python, vous découvrirez également une communauté très active et accueillante. Python est accompagné d’une documentation abondante et de nombreux tutoriels pour guider les nouveaux venus. Cette accessibilité contribue à faire de Python un des meilleurs langages pour débuter en programmation tout en étant très puissant pour les développeurs expérimentés.

Installation de Python

Avant de commencer à programmer en Python, vous devez installer Python sur votre système. L’installation de Python dépend du système d’exploitation que vous utilisez. Voici comment installer Python sur Linux, Windows et macOS.

Installation de Python sur Linux

La méthode d’installation de Python peut varier selon la distribution Linux que vous utilisez. Voici comment installer Python sur deux familles de distributions Linux courantes : Debian et Red Hat.

Famille Debian

Ouvrez un terminal et exécutez les commandes suivantes :

Terminal window
sudo apt update
sudo apt install python3

Famille Redhat

Ouvrez un terminal et exécutez les commandes suivantes :

Terminal window
sudo dnf install python3

Installation de Python sur Windows

Chocolatey est un gestionnaire de paquets pour Windows qui simplifie l’installation de logiciels. Voici comment installer Python sur Windows en utilisant Chocolatey :

Ouvrez une invite de commandes en tant qu’administrateur. Pour ce faire, recherchez “cmd” dans le menu Démarrer, faites un clic droit sur “Invite de commandes” et choisissez “Exécuter en tant qu’administrateur”.

Installez Chocolatey en suivant les instructions sur le site web de Chocolatey : https://chocolatey.org/install.

Une fois Chocolatey installé, ouvrez une nouvelle invite de commandes (normale, pas en tant qu’administrateur) et exécutez la commande suivante pour installer Python :

Terminal window
choco install python

Cette commande téléchargera et installera Python sur votre système.

Installation de Python sur macOS (en utilisant Homebrew)

Homebrew est un gestionnaire de paquets pour macOS qui facilite l’installation de logiciels. Voici comment installer Python sur macOS en utilisant Homebrew :

Ouvrez un terminal.

Terminal window
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python@3

Cette commande téléchargera et installera Python sur votre système.

Après avoir suivi ces étapes, Python devrait être correctement installé sur votre système, que ce soit sous Linux, Windows ou macOS. Vous pouvez vérifier l’installation en ouvrant un terminal et en exécutant la commande python --version (ou python3 --version sur certains systèmes) pour afficher la version de Python installée.

Vérification de l’installation

Ouvrez un terminal et entrez la commande suivante pour vérifier que Python est correctement installé :

Terminal window
python --version
Python 3.12.1

Vous devriez voir la version de Python que vous avez installée s’afficher.

Ecrire votre premier programme Python

Maintenant que Python est installé, créons et exécutons votre tout premier programme Python, traditionnellement appelé “Hello, World!”.

Ouvrez un éditeur de texte de votre choix, tel que Notepad (Windows), Visual Studio Code, Sublime Text, ou même l’éditeur de texte intégré à votre système.

Dans l’éditeur de texte, saisissez le code suivant :

print("Hello, World!")

Ce code utilise la fonction print() pour afficher le texte “Hello, World!” à l’écran.

Enregistrez le fichier avec une extension .py. Par exemple, vous pouvez l’enregistrer sous le nom hello.py.

Ouvrez un terminal, naviguez jusqu’au répertoire où vous avez enregistré le fichier hello.py, puis exécutez le programme en entrant la commande suivante :

Terminal window
python hello.py

Le fichier que vous venez de créer contient un programme écrit en Python, qui s’exécute directement dans le terminal pour afficher “Hello, World!”.

Variables et Types de Données

Les variables sont un élément essentiel de la programmation. Elles permettent de stocker et de manipuler des données. En Python, les variables sont très flexibles, car vous n’avez pas besoin de déclarer explicitement leur type. Dans ce chapitre, nous allons explorer la déclaration de variables et les types de données de base en Python.

Déclaration de Variables

En Python, la déclaration d’une variable est simple. Vous pouvez utiliser un nom de variable significatif et Python déterminera automatiquement le type de données en fonction de la valeur que vous lui attribuez. Voici un exemple :

nom = "Alice" # Une variable de type chaîne de caractères (str)
age = 30 # Une variable de type entier (int)
taille = # Une variable de type flottant (float)
est_majeur = True # Une variable de type booléen (bool)
  • Les noms de variables sont sensibles à la casse (par exemple, nom et Nom sont considérés comme deux variables distinctes).
  • Vous pouvez utiliser des lettres, des chiffres et des caractères de soulignement _ dans les noms de variable, mais ils ne doivent pas commencer par un chiffre.
  • Les noms de variable doivent être choisis de manière significative pour faciliter la compréhension du code.

Types de Données de Base

Python offre plusieurs types de données de base que vous utiliserez fréquemment. Voici les principaux :

  • Entier (int) : Utilisé pour stocker des nombres entiers, positifs ou négatifs.
  • Flottant (float) : Utilisé pour stocker des nombres décimaux (avec une virgule flottante).
  • Chaîne de caractères (str) : Utilisé pour stocker du texte, entouré de guillemets simples (') ou doubles (").
  • Booléen (bool) : Utilisé pour représenter des valeurs de vérité (True ou False).

Exemples d’utilisation de ces types de données :

entier = 42
flottant = 3.14
chaine = "Bonjour, Python !"
est_vrai = True

Conversion entre Types de Données

Vous pouvez convertir des variables d’un type à un autre en utilisant des fonctions de conversion. Par exemple :

nombre_texte = "123" # Une chaîne de caractères
nombre_entier = int(nombre_texte) # Convertit en entier
nombre_flottant = float(nombre_texte) # Convertit en flottant
# Vous pouvez également convertir des nombres en chaînes de caractères
age = 30
age_texte = str(age)

Assurez-vous de comprendre les types de données, car ils sont fondamentaux pour la manipulation des données en Python.

Utilisation de Commentaires

Les commentaires sont un moyen d’ajouter des explications dans votre code Python. Ils sont ignorés lors de l’exécution du programme. Utilisez le symbole # pour commencer un commentaire.

Exemple :

# Ceci est un commentaire
nom = "Alice" # Ceci est également un commentaire

Les commentaires sont utiles pour expliquer votre code aux autres programmeurs (ou à vous-même) et pour rendre le code plus lisible.

Opérations de Base

En Python, vous pouvez effectuer un large éventail d’opérations sur les variables pour manipuler des données et effectuer des calculs. Dans cette section, nous allons explorer les opérations de base telles que les opérations mathématiques, la manipulation de chaînes de caractères et les opérations logiques.

Opérations Mathématiques

Python prend en charge les opérations mathématiques courantes que vous attendez d’un langage de programmation. Voici quelques exemples :

  • Addition (+) : Utilisée pour ajouter deux nombres.
  • Soustraction (-) : Utilisée pour soustraire un nombre d’un autre.
  • Multiplication (*) : Utilisée pour multiplier deux nombres.
  • Division (/) : Utilisée pour diviser un nombre par un autre.
  • Modulo (%) : Utilisée pour obtenir le reste de la division de deux nombres.

Exemples :

a = 10
b = 3
addition = a + b # 13
soustraction = a - b # 7
multiplication = a * b # 30
division = a / b # (flottant)
modulo = a % b # 1

Manipulation de Chaînes de Caractères

Python offre de nombreuses opérations pour manipuler des chaînes de caractères (texte). Voici quelques-unes des opérations de base :

  • Concaténation : Combinez deux chaînes de caractères en les ajoutant ensemble.
  • Longueur : Obtenez la longueur d’une chaîne de caractères en utilisant la fonction len().
  • Indexation : Accédez à des caractères spécifiques dans une chaîne en utilisant des indices (attention : l’index commence à 0).
  • Découpage : Obtenez une sous-chaîne en spécifiant une plage d’indices.

Exemples :

chaine1 = "Bonjour"
chaine2 = "Python"
concatenation = chaine1 + ", " + chaine2 # "Bonjour, Python"
longueur = len(chaine1) # 7
premier_caractere = chaine1[0] # "B"
sous_chaine = chaine2[0:3] # "Pyt"

Opérations Logiques

Les opérations logiques sont couramment utilisées pour prendre des décisions dans les structures de contrôle conditionnelles. Les opérations logiques de base sont :

  • Et logique (and) : Vrai seulement si les deux conditions sont vraies.
  • Ou logique (or) : Vrai si au moins l’une des conditions est vraie.
  • Non logique (not) : Inverse la valeur logique d’une condition.

Exemples :

vrai = True
faux = False
resultat_et = vrai and faux # Faux
resultat_ou = vrai or faux # Vrai
resultat_non = not vrai # Faux

Priorités des Opérations

Lorsque vous effectuez plusieurs opérations dans une expression, Python suit un ordre de priorité standard. Cependant, vous pouvez utiliser des parenthèses pour spécifier l’ordre d’évaluation.

Exemple :

resultat = + * # (la multiplication a une priorité plus élevée)
resultat_parentheses = (5 + 2) * # (les parenthèses changent l'ordre)

Structures de Contrôle

Les structures de contrôle sont essentielles en programmation car elles vous permettent de contrôler le flux d’exécution de votre programme. Python offre des instructions conditionnelles (comme if, elif et else) ainsi que des boucles (comme for et while) pour gérer les décisions et la répétition. Dans ce chapitre, nous allons explorer ces structures de contrôle en Python.

Instructions Conditionnelles (if, elif, else)

Les instructions conditionnelles vous permettent d’exécuter du code en fonction de certaines conditions. La structure de base est if, suivi d’une condition, et éventuellement elif (abréviation de “else if”) et else. Voici un exemple :

age = 18
if age < 18:
print("Vous êtes mineur.")
elif age == 18:
print("Vous venez d'atteindre la majorité.")
else:
print("Vous êtes majeur.")
  • L’instruction if vérifie la condition initiale.
  • Les instructions elif (optionnelles) permettent de vérifier d’autres conditions si la première condition est fausse.
  • L’instruction else (également facultative) est exécutée si aucune des conditions précédentes n’est vraie.

Boucles (for, while)

Les boucles permettent de répéter une partie de votre code plusieurs fois. Python offre deux types de boucles principaux : for et while.

Boucle for

La boucle for est utilisée pour itérer sur une séquence (comme une liste ou une chaîne de caractères) ou pour effectuer une action un certain nombre de fois. Voici un exemple :

for i in range(5): # Répète fois (0, 1, 2, 3, 4)
print("Répétition numéro", i)

Boucle while

La boucle while est utilisée pour répéter une instruction tant qu’une condition est vraie. Voici un exemple :

compteur = 0
while compteur < 5:
print("Tour numéro", compteur)
compteur += 1
  • Assurez-vous que la condition finit par devenir fausse pour éviter une boucle infinie.

Listes, tuples et Dictionnaires

Les listes, les tuples et les dictionnaires sont des structures de données fondamentales en Python. Les listes permettent de stocker une collection ordonnée d’éléments, tandis que les dictionnaires permettent de stocker des paires clé-valeur.

Listes

Une liste est une collection d’éléments ordonnés et elle peut contenir des éléments de différents types de données. Pour créer une liste en Python, vous pouvez utiliser des crochets []. Voici comment créer une liste et y accéder :

ma_liste = [1, 2, 3, 4, 5]
  • Les éléments d’une liste sont indexés à partir de 0. Par exemple, ma_liste[0] accède au premier élément (1), ma_liste[1] accède au deuxième élément (2) et ainsi de suite.
  • Vous pouvez également utiliser des indices négatifs pour accéder aux éléments depuis la fin de la liste. Par exemple, ma_liste[-1] accède au dernier élément (5).

Manipulation de Listes

Les listes en Python sont flexibles et offrent de nombreuses méthodes pour les manipuler. Voici quelques-unes des opérations courantes sur les listes :

  • Ajouter un élément : Utilisez append() pour ajouter un élément à la fin de la liste.
  • Supprimer un élément : Utilisez remove() pour supprimer la première occurrence d’un élément donné.
  • Longueur d’une liste : Utilisez len() pour obtenir la longueur (le nombre d’éléments) de la liste.

Exemples :

ma_liste.append(6) # Ajoute à la fin de la liste
ma_liste.remove(3) # Supprime la première occurrence de dans la liste
longueur_liste = len(ma_liste) # Renvoie 5

Plus d’infos sur les listes Python.

Tuples

Les tuples en Python sont similaires aux listes mais sont immutables, c’est-à-dire qu’ils ne peuvent pas être modifiés après leur création. On les utilise pour stocker des ensembles de données qui ne doivent pas changer, comme des coordonnées, des valeurs fixes ou des clés de dictionnaire.

Création et accès aux éléments

Les tuples sont créés en utilisant des parenthèses (), avec les éléments séparés par des virgules :

mon_tuple = (10, 20, 30)
print(mon_tuple[1]) # Affiche 20

Pour un tuple à un seul élément, ajoutez une virgule : (5,).

Immutabilité des tuples

Contrairement aux listes, les éléments d’un tuple ne peuvent pas être modifiés :

mon_tuple = (1, 2, 3)
# mon_tuple[0] = 10 # Provoque une erreur

Utilisation comme clés de dictionnaire

Les tuples peuvent servir de clés dans les dictionnaires, car ils sont immuables :

coordonnees = {(40.7128, -74.0060): "New York"}

Les tuples sont une option idéale pour les données constantes et les paires de valeurs fixes.

Dictionnaires

Un dictionnaire est une structure de données qui permet de stocker des données sous forme de paires clé-valeur. Les dictionnaires sont définis à l’aide d’accolades {} et peuvent contenir des données de types variés. Voici comment créer un dictionnaire en Python :

mon_dictionnaire = {"nom": "Alice", "age": 30, "ville": "Paris"}
  • Chaque paire clé-valeur est séparée par une virgule.
  • Vous pouvez accéder à une valeur en utilisant la clé correspondante : mon_dictionnaire["nom"] renverra “Alice”.

Manipulation de Dictionnaires

Les dictionnaires en Python offrent des opérations pour ajouter, mettre à jour et supprimer des éléments. Voici quelques exemples d’opérations courantes :

  • Ajouter une paire clé-valeur : Utilisez une nouvelle clé pour ajouter une valeur au dictionnaire.
  • Mettre à jour une valeur : Accédez à la clé existante et affectez-lui une nouvelle valeur.
  • Supprimer une paire clé-valeur : Utilisez del pour supprimer une paire clé-valeur.

Exemples :

mon_dictionnaire["email"] = "alice@example.com" # Ajoute une nouvelle paire clé-valeur
mon_dictionnaire["age"] = # Met à jour la valeur de la clé "age"
del mon_dictionnaire["ville"] # Supprime la paire clé-valeur avec la clé "ville"

Bonnes Pratiques pour l’écriture de scripts Python

Lorsque vous créez des scripts Python destinés à être exécutés directement depuis un terminal, il est important de respecter certaines conventions pour assurer une bonne organisation et lisibilité de votre code.

Le Shebang (#!/usr/bin/env python3)

Le shebang est une ligne spéciale qui doit se trouver en première position dans votre fichier Python. Il indique au système quel interpréteur utiliser pour exécuter le script, permettant ainsi de le lancer directement depuis le terminal sans avoir à invoquer explicitement l’interpréteur Python.

Exemple de Shebang pour Python 3 :

#!/usr/bin/env python3

Dans cet exemple, /usr/bin/env est une commande qui localise l’interpréteur Python 3 sur le système, quel que soit son emplacement exact, garantissant ainsi que le script fonctionne sur différentes configurations. Si votre fichier est enregistré sous le nom mon_script.py, vous pouvez exécuter directement ce script après lui avoir donné les permissions d’exécution (voir plus bas).

Structure d’un en-tête de script

Un bon script Python commence généralement par un en-tête qui donne des informations sur l’auteur, la date et une description générale du script. Cela aide à la compréhension et à la maintenance du code à long terme.

Exemple d’en-tête :

#!/usr/bin/env python3
# Auteur : Jean Dupont
# Date : 2024-09-04
# Description : Ce script lit un fichier, gère les exceptions et affiche un message de bienvenue.

Cet en-tête est placé immédiatement après le shebang et contient des commentaires sur le but et le contexte du script. Il est particulièrement utile dans les grands projets ou dans les environnements collaboratifs où plusieurs développeurs travaillent ensemble.

Les commentaires dans le code

Les commentaires en Python commencent par le symbole # et permettent de documenter le code. Ils sont essentiels pour expliquer la logique ou les décisions de conception, rendant le code plus facile à comprendre et à maintenir.

  1. Commentaires en ligne : Ils expliquent des portions spécifiques de code.

    # Calculer la somme de deux nombres
    somme = 5 + 3
  2. Commentaires de bloc : Utilisés pour expliquer des sections plus longues ou plus complexes.

    # Cette fonction prend un nom en entrée et retourne
    # une chaîne de caractères qui inclut ce nom dans une salutation.
    def dire_bonjour(nom):
    return f"Bonjour, {nom} !"

Rendre le script exécutable

Une fois votre script Python écrit avec un shebang en tête, vous pouvez le rendre exécutable sur un système de type UNIX (Linux, macOS). Cela signifie que vous pouvez l’exécuter comme n’importe quel autre programme, sans avoir à spécifier python3 avant le nom du fichier.

  1. Ajouter le shebang (comme mentionné ci-dessus).
  2. Changer les permissions du fichier pour le rendre exécutable à l’aide de la commande chmod :
Terminal window
chmod +x mon_script.py
  1. Exécuter le script directement depuis le terminal :
Terminal window
./mon_script.py

Cela permet d’exécuter le script sans avoir à appeler explicitement Python. Si vous n’ajoutez pas de shebang, vous devrez toujours exécuter le script en appelant l’interpréteur directement :

Terminal window
python3 mon_script.py

Exercice

Je vous propose d’essayer d’écrire un programme de devinette.

L’objectif de ce programme est de créer un jeu de devinette où l’utilisateur tente de trouver un nombre mystère choisi à l’avance par le programme. Ce projet est un excellent exercice pour apprendre les bases de la programmation, car il combine des concepts essentiels comme les boucles, les conditions et l’interaction avec l’utilisateur.

Ce que doit contenir le programme :

  1. Un nombre à deviner : Un nombre fixe (dans cet exemple, 42) que l’utilisateur doit deviner.
  2. Des messages d’accueil : Des instructions pour expliquer à l’utilisateur comment jouer.
  3. Un compteur d’essais : Un mécanisme pour compter combien de fois l’utilisateur essaie de deviner le nombre.
  4. Une boucle de jeu : Une boucle qui continue jusqu’à ce que l’utilisateur trouve le bon nombre.
  5. Des comparaisons : Le programme doit comparer le nombre entré par l’utilisateur avec le nombre mystère et donner des indices pour dire si le nombre à deviner est plus grand ou plus petit.
  6. Un message de victoire : Quand l’utilisateur trouve le bon nombre, le programme doit l’informer du succès et du nombre d’essais nécessaires.

Fonctionnement du programme :

  1. Affichage des instructions : Le programme commence par accueillir l’utilisateur et lui expliquer qu’il doit deviner un nombre entre 1 et 100.
  2. Saisie d’un nombre par l’utilisateur : Le programme demande ensuite à l’utilisateur d’entrer un nombre via le clavier.
  3. Comparaison du nombre entré :
    • Si le nombre entré est plus petit que le nombre mystère, le programme indique à l’utilisateur que le nombre recherché est plus grand.
    • Si le nombre entré est plus grand, il indique que le nombre recherché est plus petit.
    • Si le nombre entré est exactement égal au nombre mystère, le programme félicite l’utilisateur et affiche le nombre d’essais qu’il a fallu pour trouver la bonne réponse.
  4. Boucle répétée jusqu’à la bonne réponse : Le programme continue de demander à l’utilisateur de deviner tant que le bon nombre n’a pas été trouvé.

Conclusion

Tout au long de ce guide, vous avez acquis les connaissances fondamentales pour écrire et comprendre des programmes Python, en passant par les concepts essentiels comme les variables, les structures de contrôle, les fonctions, et les collections de données. Ces fondations vous ouvrent la voie à un apprentissage plus approfondi dans des domaines variés, allant du développement web à l’analyse de données, en passant par l’intelligence artificielle et l’automatisation.

La suite de votre parcours avec Python dépendra de vos objectifs. Que vous souhaitiez automatiser des tâches, développer des applications complexes, ou entrer dans le monde fascinant de la data science, Python vous accompagnera avec des solutions robustes et intuitives.

Plus d’infos

Livres gratuits

Livres