Apprenez Python
Mise à jour :
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 :
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 :
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 :
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 :
Famille Redhat
Ouvrez un terminal et exécutez les commandes suivantes :
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 :
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.
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é :
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 :
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 :
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 :
- Les noms de variables sont sensibles à la casse (par exemple,
nom
etNom
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 :
Conversion entre Types de Données
Vous pouvez convertir des variables d’un type à un autre en utilisant des fonctions de conversion. Par exemple :
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 :
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 :
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 :
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 :
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 :
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
:
- 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 :
Boucle while
La boucle while
est utilisée pour répéter une instruction tant qu’une
condition est vraie. Voici un exemple :
- 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 :
- 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 :
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 :
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 :
Utilisation comme clés de dictionnaire
Les tuples peuvent servir de clés dans les dictionnaires, car ils sont immuables :
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 :
- 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 :
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 :
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 :
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.
-
Commentaires en ligne : Ils expliquent des portions spécifiques de code.
-
Commentaires de bloc : Utilisés pour expliquer des sections plus longues ou plus complexes.
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.
- Ajouter le shebang (comme mentionné ci-dessus).
- Changer les permissions du fichier pour le rendre exécutable à l’aide de
la commande
chmod
:
- Exécuter le script directement depuis le terminal :
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 :
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 :
- Un nombre à deviner : Un nombre fixe (dans cet exemple, 42) que l’utilisateur doit deviner.
- Des messages d’accueil : Des instructions pour expliquer à l’utilisateur comment jouer.
- Un compteur d’essais : Un mécanisme pour compter combien de fois l’utilisateur essaie de deviner le nombre.
- Une boucle de jeu : Une boucle qui continue jusqu’à ce que l’utilisateur trouve le bon nombre.
- 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.
- 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 :
- Affichage des instructions : Le programme commence par accueillir l’utilisateur et lui expliquer qu’il doit deviner un nombre entre 1 et 100.
- Saisie d’un nombre par l’utilisateur : Le programme demande ensuite à l’utilisateur d’entrer un nombre via le clavier.
- 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.
- 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é.
Suivez ces étapes une par une pour écrire votre programme. Nous n’allons pas expliquer chaque partie du code, mais vous apprendrez comment l’écrire progressivement.
Commencez par ouvrir votre éditeur de texte préféré (par exemple VS Code,
Sublime Text, ou l’éditeur de texte de votre choix). Créez un nouveau fichier et
enregistrez-le avec l’extension .py
. Un bon nom pourrait être devinette.py
.
Pour rendre votre programme plus clair et informatif, commencez par écrire quelques commentaires au début. Ceux-ci expliquent qui a écrit le programme, la date et ce que fait le programme.
Définissez le nombre à deviner en ajoutant cette ligne juste après les commentaires.
Pour cet exemple, nous avons choisi 42 comme nombre mystère.
Ajoutez des messages d’accueil pour que l’utilisateur sache à quoi s’attendre en lançant le programme.
Nous avons besoin d’une variable pour compter le nombre d’essais et d’une autre pour savoir si le nombre a été deviné.
Écrivez une boucle while
qui continuera tant que l’utilisateur n’a pas deviné
le bon nombre.
Dans la boucle, demandez à l’utilisateur d’entrer un nombre avec la fonction
input()
. Ensuite, incrémentez le nombre d’essais après chaque tentative.
Maintenant, vous devez comparer le nombre deviné avec le nombre mystère. Si le nombre entré est plus petit, affichez un message et s’il est plus grand, affichez un autre message. Si c’est le bon nombre, félicitez l’utilisateur et sortez de la boucle.
Une fois que vous avez tapé tout ce code, sauvegardez-le et lancez-le dans votre terminal avec la commande suivante :
Vous devriez voir s’afficher les messages de bienvenue et le programme devrait vous permettre de deviner le nombre.
Après avoir terminé cette version de base, vous pouvez envisager d’améliorer le programme en ajoutant la gestion d’exceptions, en permettant à l’utilisateur de rejouer, ou même en rendant le nombre à deviner aléatoire.
Voilà, vous avez maintenant créé un petit jeu de devinette en Python !
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
- Site officiel : Python.org ↗
Livres gratuits
- Cours de Python ↗
- Apprendre à programmer avec Python ↗
- Introduction à la programmation ↗
- Le guide de l’auto-stoppeur pour Python! ↗
- Une introduction à Python3 ↗
- Apprenez Python ↗