■ Guide Python pour Débutants
Ce guide vous accompagne dans votre apprentissage de Python, depuis les bases jusqu'aux concepts
intermédiaires. Python est l'un des langages les plus populaires au monde, apprécié pour sa syntaxe
claire et sa polyvalence.
Ce que vous allez apprendre : Variables et types de données • Conditions et boucles • Fonctions •
Listes, tuples, dictionnaires • Programmation orientée objet • Gestion des fichiers • Bibliothèques utiles
1. Variables et Types de Données
En Python, vous n'avez pas besoin de déclarer le type d'une variable. Python le détecte automatiquement.
# Types de base
nom = "Alice" # str (chaîne de caractères)
age = 25 # int (entier)
taille = 1.75 # float (décimal)
est_etudiant = True # bool (booléen)
# Afficher le type d'une variable
print(type(nom)) # <class 'str'>
print(type(age)) # <class 'int'>
# Conversion de types
age_str = str(age) # "25"
taille_int = int(taille) # 1
nombre = float("3.14") # 3.14
# Opérations sur les chaînes
prenom = "Jean"
nom_complet = prenom + " " + nom # Concaténation
msg = f"Bonjour, je m'appelle {prenom}, j'ai {age} ans." # f-string (recommandé)
print([Link]()) # BONJOUR, JE M'APPELLE JEAN, J'AI 25 ANS.
print(len(msg)) # Longueur de la chaîne
Astuce : Utilisez les f-strings (f"...") pour formater vos chaînes de caractères, c'est la méthode moderne et
la plus lisible.
2. Conditions (if / elif / else)
Les conditions permettent d'exécuter du code différent selon une situation.
age = 18
if age >= 18:
print("Vous êtes majeur")
elif age >= 13:
print("Vous êtes adolescent")
else:
print("Vous êtes enfant")
# Opérateurs de comparaison
# == égal != différent
# > supérieur < inférieur
# >= sup. ou égal <= inf. ou égal
# Opérateurs logiques
if age >= 18 and age < 65:
print("Adulte en âge de travailler")
if age < 0 or age > 150:
print("Âge invalide")
# Condition ternaire (sur une ligne)
statut = "majeur" if age >= 18 else "mineur"
print(statut) # majeur
3. Boucles (for / while)
Boucle for
# Itérer sur une plage de nombres
for i in range(5): # 0, 1, 2, 3, 4
print(i)
for i in range(1, 11): # 1 à 10
print(i)
for i in range(0, 20, 2): # 0, 2, 4, ..., 18
print(i)
# Itérer sur une liste
fruits = ["pomme", "banane", "cerise"]
for fruit in fruits:
print(f"Fruit : {fruit}")
# enumerate() pour avoir l'index
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")
Boucle while
compteur = 0
while compteur < 5:
print(compteur)
compteur += 1
# break : sortir de la boucle
for i in range(10):
if i == 5:
break
print(i) # 0, 1, 2, 3, 4
# continue : passer à l'itération suivante
for i in range(10):
if i % 2 == 0:
continue # sauter les pairs
print(i) # 1, 3, 5, 7, 9
4. Fonctions
Les fonctions permettent de réutiliser du code. En Python, on les définit avec le mot-clé def.
# Définir une fonction simple
def saluer(nom):
print(f"Bonjour, {nom}!")
saluer("Marie") # Bonjour, Marie!
# Fonction avec valeur de retour
def additionner(a, b):
return a + b
resultat = additionner(3, 7)
print(resultat) # 10
# Paramètres avec valeur par défaut
def puissance(base, exposant=2):
return base ** exposant
print(puissance(3)) # 9 (3^2)
print(puissance(2, 10)) # 1024 (2^10)
# Fonction avec nombre variable d'arguments
def somme(*args):
total = 0
for n in args:
total += n
return total
print(somme(1, 2, 3, 4, 5)) # 15
# Annotations de type (bonne pratique)
def multiplier(a: int, b: int) -> int:
return a * b
5. Listes, Tuples et Dictionnaires
Listes
# Listes (modifiables)
nombres = [1, 2, 3, 4, 5]
[Link](6) # Ajouter à la fin
[Link](0, 0) # Insérer à l'index 0
[Link](3) # Supprimer la valeur 3
del nombres[0] # Supprimer par index
print(nombres[0]) # Premier élément
print(nombres[-1]) # Dernier élément
print(nombres[1:4]) # Sous-liste (slicing)
# List comprehension (puissant !)
carres = [x**2 for x in range(1, 6)] # [1, 4, 9, 16, 25]
pairs = [x for x in range(20) if x % 2 == 0]
# Méthodes utiles
[Link]() # Trier
print(len(nombres)) # Longueur
print(sum(nombres)) # Somme
print(max(nombres)) # Maximum
Dictionnaires
# Dictionnaires (clé: valeur)
personne = {
"nom": "Dupont",
"prenom": "Jean",
"age": 30
}
print(personne["nom"]) # Dupont
personne["email"] = "j@[Link]" # Ajouter une clé
del personne["age"] # Supprimer
# Accès sécurisé
age = [Link]("age", 0) # 0 si clé absente
# Itérer sur un dictionnaire
for cle, valeur in [Link]():
print(f"{cle}: {valeur}")
# Vérifier si une clé existe
if "nom" in personne:
print("Clé trouvée !")
6. Programmation Orientée Objet (POO)
La POO permet d'organiser le code en "objets" qui regroupent des données (attributs) et des
comportements (méthodes).
class Animal:
# Constructeur
def __init__(self, nom: str, age: int):
[Link] = nom
[Link] = age
# Méthode
def se_presenter(self):
print(f"Je m'appelle {[Link]}, j'ai {[Link]} ans.")
# Représentation en chaîne
def __str__(self):
return f"Animal({[Link]}, {[Link]})"
# Héritage
class Chien(Animal):
def __init__(self, nom, age, race):
super().__init__(nom, age) # Appeler le parent
[Link] = race
def aboyer(self):
print(f"{[Link]} dit : Woof!")
def se_presenter(self): # Surcharge
super().se_presenter()
print(f"Je suis un {[Link]}.")
# Utilisation
chien = Chien("Rex", 3, "Labrador")
chien.se_presenter()
[Link]()
print(str(chien))
7. Gestion des Fichiers et Exceptions
Fichiers
# Écrire dans un fichier
with open("[Link]", "w", encoding="utf-8") as f:
[Link]("Bonjour !\n")
[Link]("Deuxième ligne\n")
# Lire un fichier
with open("[Link]", "r", encoding="utf-8") as f:
contenu = [Link]() # Tout lire
# ou
for ligne in f: # Ligne par ligne
print([Link]())
# Ajouter du contenu
with open("[Link]", "a", encoding="utf-8") as f:
[Link]("Troisième ligne\n")
Exceptions
# Gérer les erreurs
try:
nombre = int(input("Entrez un nombre: "))
resultat = 10 / nombre
print(f"Résultat: {resultat}")
except ValueError:
print("Ce n'est pas un nombre valide !")
except ZeroDivisionError:
print("Division par zéro impossible !")
except Exception as e:
print(f"Erreur inattendue: {e}")
finally:
print("Ce bloc s'exécute toujours")
# Lever une exception
def diviser(a, b):
if b == 0:
raise ValueError("Le diviseur ne peut pas être 0")
return a / b
8. Bibliothèques Utiles
Python dispose d'une grande bibliothèque standard et d'un écosystème riche. Voici les essentiels :
# math - Calculs mathématiques
import math
print([Link](16)) # 4.0
print([Link]) # 3.14159...
print([Link](3.7)) # 3
# random - Nombres aléatoires
import random
print([Link](1, 10)) # Entier entre 1 et 10
print([Link]([1, 2, 3])) # Élément aléatoire
[Link]([1, 2, 3, 4]) # Mélanger
# datetime - Dates et heures
from datetime import datetime, date
now = [Link]()
print([Link]("%d/%m/%Y %H:%M"))
# os - Système de fichiers
import os
print([Link]()) # Dossier courant
[Link]("mon_dossier", exist_ok=True)
# json - Travailler avec JSON
import json
data = {"nom": "Alice", "age": 25}
json_str = [Link](data) # Dict -> JSON string
data2 = [Link](json_str) # JSON string -> Dict
9. Bonnes Pratiques
• Nommage : variables et fonctions en snake_case (mon_variable), classes en PascalCase (MaClasse)
• Indentation : toujours 4 espaces (jamais de tabulations)
• Commentaires : expliquez le POURQUOI, pas le QUOI
• Docstrings : documentez vos fonctions avec des triple-guillemets
• PEP 8 : suivez les conventions de style officielle de Python
def calculer_surface(longueur: float, largeur: float) -> float:
"""
Calcule la surface d'un rectangle.
Args:
longueur: La longueur du rectangle en mètres.
largeur: La largeur du rectangle en mètres.
Returns:
La surface en mètres carrés.
"""
return longueur * largeur
Prochaines étapes : Explorez les bibliothèques NumPy (calcul scientifique), Pandas (données),
Flask/FastAPI (web), et Pytest (tests). La documentation officielle sur [Link] est une excellente
ressource !