Présentation de Python
- Langage de programmation simple, puissant et populaire
- Utilisé dans de nombreux domaines : web, science des données, robotique (comme le Raspberry Pi!)
- Syntaxe claire et facile à lire
Prérequis
Pour ce cours, nous supposons que vous avez:
- Un système Linux (Ubuntu , Debian ou Raspberry Pi OS 64-bit)
- Python3 déjà installé (vérifiez avec
python3 --version) - Un éditeur de texte comme vi
Installation
sudo apt update && sudo apt install python3
Premiers Pas avec Python
Lancer l’interpréteur Python
Ouvrez un terminal et tapez:
➜ ~ python --version
Python 3.10.4
➜ ~
il faut une version 3 minimum (car 2 n’est plus d’actualitée)
➜ ~ python
Python 3.10.4 (main, Jun 29 2022, 12:14:53) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Premières commandes
Essayez ces opérations simples:
>>> print("Bonjour le monde!")
>>> 2 + 3
>>> 10 / 2
>>> nom = "VotreNom"
>>> print("Je m'appelle", nom)
Python 3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list("bonjour")
['b', 'o', 'n', 'j', 'o', 'u', 'r']
>>>
Quitter l’interpréteur
>>> exit()
on appel la fonction exit pour en sortir
avec le clavier ctrl d (^d)
Écrire un Premier Script
Créer un fichier Python
Ouvrez votre éditeur de texte et créez un fichier bonjour.py:
#!/usr/bin/env python3
# Ceci est un commentaire
print("Bonjour les programmeurs en herbe!")
prenom = input("Comment t'appelles-tu? ")
print("Enchanté,", prenom, "!")
age = input("Quel âge as-tu? ")
print("Dans 10 ans, tu auras", int(age) + 10, "ans!")
Exécuter le script
Dans le terminal:
python3 bonjour.py
ou, si bien paramétré
python bonjour.py
Ou rendez-le exécutable:
comme n’importe quel script.
chmod +x bonjour.py
./bonjour.py
Concepts de Base
Typage Faible vs Fort
- Faiblement typé (weakly typed) :
Le langage est permissif avec les conversions implicites entre types.
Exemple :"3" + 4pourrait donner"34"(JavaScript) ou7(selon le langage). - Fortement typé (strongly typed) :
Le langage impose des règles strictes sur les types et refuse les opérations incohérentes.
Python est dynamiquement typé, mais relativement fort
- ✔ Dynamique : Pas besoin de déclarer le type d’une variable (
x = 10suffit, pas besoin deint x = 10). - ✔ Fort : Python ne fait pas de conversions implicites dangereuses comme certains langages faiblement typés, comme javascript !
# ✅ Opérations autorisées (mais logiques)
print(3 + 5.0) # → 8.0 (int + float → float)
print("abc" + "def") # → "abcdef" (concaténation)
# ❌ Opérations interdites (Python lève une erreur)
print("10" + 5) # → TypeError (pas de conversion auto de str en int)
print(10 + "5") # → Même erreur
Variables et Types
# Chaînes de caractères (str) nom = "Alice" message = 'Bonjour' # Nombres entiers (int) age = 12 # Nombres à virgule (float) taille = 1.65 # Booléens (bool) est_eleve = True
Opérations de Base
# Mathématiques 5 + 3 # Addition 7 - 2 # Soustraction 6 * 4 # Multiplication 8 / 2 # Division 10 // 3 # Division entière 10 % 3 # Modulo (reste) # Chaînes de caractères prenom = "Jean" nom = "Dupont" nom_complet = prenom + " " + nom
3. Structures de Contrôle
Condition if:
age = int(input("Quel âge as-tu? "))
if age < 13:
print("Tu es un enfant!")
elif age < 18:
print("Tu es un adolescent!")
else:
print("Tu es un adulte!")
Boucle for:
for i in range(5): # 0 à 4
print("Numéro", i)
for lettre in "Python":
print(lettre)
Boucle while:
compteur = 0
while compteur < 5:
print("Compteur:", compteur)
compteur += 1
Projet Pratique: Devine le Nombre
Créez un fichier devine.py:
#!/usr/bin/env python3
import random
nombre_secret = random.randint(1, 100)
essais = 0
max_essais = 7
print("J'ai choisi un nombre entre 1 et 100. Devine lequel!")
while essais < max_essais:
essais += 1
essai = int(input("Essai {}: ".format(essais)))
if essai < nombre_secret:
print("Trop petit!")
elif essai > nombre_secret:
print("Trop grand!")
else:
print("Bravo! Tu as trouvé en", essais, "essais.")
break
if essais >= max_essais:
print("Désolé, le nombre était", nombre_secret)
Gestion des erreurs avec try/except en Python
Le bloc try/except est un mécanisme de gestion des erreurs qui permet d’attraper et traiter les exceptions pour éviter que le programme ne plante.
Structure de Base
try:
# Code susceptible de provoquer une erreur
resultat = 10 / 0 # Division par zéro → erreur
except:
# Code exécuté si une erreur survient
print("Une erreur est survenue !")
Introduction à pdb (debugger python)
pdb (Python Debugger) est un outil intégré à Python pour déboguer du code. Il permet :
- D’exécuter le code ligne par ligne
- D’inspecter les variables
- De poser des points d’arrêt (breakpoints)
- De corriger des bugs en temps réel
Démarrer pdb
Méthode 1 : Lancer un script en mode débogage
python3 -m pdb mon_script.py
- Avantage : Débogue dès la première ligne.
- Inconvénient : Nécessite de relancer le script après chaque modification.
Commandes Essentielles
| Commande | Raccourci | Description |
|---|---|---|
help | h | Affiche l’aide générale |
next | n | Exécute la ligne actuelle et passe à la suivante |
step | s | Entre dans une fonction (si appel) |
continue | c | Reprend l’exécution jusqu’au prochain breakpoint |
quit | q | Quitte le débogueur brutalement |
list | l | Affiche 10 lignes autour de la position actuelle |
print(var) | p var | Affiche la valeur d’une variable |
return | r | Continue jusqu’à la fin de la fonction actuelle |
Gestion des Breakpoints
| Commande | Exemple | Description |
|---|---|---|
break <ligne> | b 10 | Pose un breakpoint à la ligne 10 |
break <fichier>:<ligne> | b script.py:15 | Breakpoint dans un fichier spécifique |
break <fonction> | b ma_fonction | Breakpoint à l’entrée d’une fonction |
clear | cl 2 | Supprime le breakpoint n°2 |
disable | disable 1 | Désactive temporairement un breakpoint |
enable | enable 1 | Réactive un breakpoint |
Inspection des Variables
| Commande | Description |
|---|---|
p <variable> | Affiche la valeur (p x) |
pp <variable> | Pretty-print pour les structures complexes |
whatis <variable> | Affiche le type (whatis liste) |
display <variable> | Affiche la variable à chaque étape |
undisplay <id> | Désactive l’affichage automatique |
Navigation dans la Pile d’Appels
| Commande | Description |
|---|---|
where (w) | Affiche la pile d’appels complète |
up (u) | Remonte d’un niveau dans la pile |
down (d) | Descend d’un niveau dans la pile |
ipdb encore mieux en couleur
pip install ipdb
Faire comme avec pdb , mais avec ipdb .. et c’est en couleur
Pourquoi choisir ipdb ?
✅ Auto-complétion avec TAB
✅ Coloration syntaxique
✅ Historique des commandes
✅ Meilleure ergonomie que pdb
Conclusion
Python est un excellent langage pour débuter en programmation, surtout sur Linux et Raspberry Pi. Avec ces bases, vous pouvez déjà créer des petits programmes amusants!
N’hésitez pas à expérimenter, modifier les exemples et créer vos propres programmes. La pratique est la meilleure façon d’apprendre.
C’est en codant qu’on devient codeur !
