Apprenez Python de zéro à héros - Du débutant au professionnel
🚀 Les Bases de Python
1. Votre premier programme
# Votre premier programme Pythonprint("Hello, World!")
# Variables
nom = "Alice"
age = 25
taille = 1.65
est_etudiant = Trueprint(f"Je m'appelle {nom} et j'ai {age} ans")
💡 À savoir :
Python est un langage interprété, typé dynamiquement. Pas besoin de déclarer le type des variables !
2. Types de données
Type
Description
Exemple
int
Nombre entier
42, -10, 0
float
Nombre décimal
3.14, -0.5, 2.0
str
Chaîne de caractères
"Hello", 'Python'
bool
Booléen
True, False
list
Liste
[1, 2, 3]
dict
Dictionnaire
{"nom": "Alice"}
3. Opérateurs
# Opérateurs arithmétiques
a = 10
b = 3
addition = a + b # 13
soustraction = a - b # 7
multiplication = a * b # 30
division = a / b # 3.333...
division_entiere = a // b # 3
modulo = a % b # 1
puissance = a ** b # 1000# Opérateurs de comparaisonprint(a == b) # Falseprint(a != b) # Trueprint(a > b) # Trueprint(a <= b) # False
4. Structures conditionnelles
# Structure if/elif/else
age = 18if age < 18:
print("Mineur")
elif age == 18:
print("Tout juste majeur !")
else:
print("Majeur")
# Opérateurs logiques
a = True
b = Falseprint(a and b) # Falseprint(a or b) # Trueprint(not a) # False
5. Boucles
# Boucle forfor i inrange(5):
print(i) # Affiche 0, 1, 2, 3, 4# Parcourir une liste
fruits = ["pomme", "banane", "orange"]
for fruit in fruits:
print(fruit)
# Boucle while
compteur = 0while compteur < 5:
print(compteur)
compteur += 1
✨ Essayez Python en ligne !
Écrivez votre code Python ci-dessous :
Le résultat s'affichera ici...
📊 Structures de données
1. Listes (Lists)
# Création et manipulation de listes
ma_liste = [1, 2, 3, 4, 5]
# Accès aux éléments
premier = ma_liste[0] # 1
dernier = ma_liste[-1] # 5# Méthodes de liste
ma_liste.append(6) # Ajouter à la fin
ma_liste.insert(0, 0) # Insérer à l'index 0
ma_liste.remove(3) # Retirer la valeur 3
element = ma_liste.pop() # Retirer le dernier élément# Slicing (tranches)
sous_liste = ma_liste[1:4] # Éléments de l'index 1 à 3
inverse = ma_liste[::-1] # Inverser la liste# List comprehension
carres = [x**2for x inrange(10)]
pairs = [x for x inrange(20) if x % 2 == 0]
2. Tuples
# Les tuples sont immutables (non modifiables)
mon_tuple = (1, 2, 3)
coordonnees = (10.5, 20.3)
# Unpacking
x, y = coordonnees
print(f"x = {x}, y = {y}")
# Tuple avec un seul élément
single = (1,) # Notez la virgule !
3. Dictionnaires (Dictionaries)
# Création de dictionnaires
personne = {
"nom": "Alice",
"age": 25,
"ville": "Paris"
}
# Accès aux valeurs
nom = personne["nom"]
age = personne.get("age") # Méthode plus sûre# Modification
personne["age"] = 26
personne["email"] = "alice@example.com"# Nouvelle clé# Méthodes utiles
cles = personne.keys()
valeurs = personne.values()
items = personne.items()
# Parcourir un dictionnairefor cle, valeur in personne.items():
print(f"{cle}: {valeur}")
4. Sets (Ensembles)
# Les sets ne contiennent que des éléments uniques
mon_set = {1, 2, 3, 3, 4} # {1, 2, 3, 4}# Opérations sur les sets
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union = set1 | set2 # {1, 2, 3, 4, 5}
intersection = set1 & set2 # {3}
difference = set1 - set2 # {1, 2}# Méthodes
mon_set.add(5)
mon_set.remove(2)
📝 Exemple pratique : Gestion d'étudiants
# Liste d'étudiants avec leurs notes
etudiants = [
{"nom": "Alice", "notes": [15, 18, 16]},
{"nom": "Bob", "notes": [12, 14, 13]},
{"nom": "Charlie", "notes": [17, 19, 18]}
]
# Calculer la moyenne de chaque étudiantfor etudiant in etudiants:
moyenne = sum(etudiant["notes"]) / len(etudiant["notes"])
print(f"{etudiant['nom']}: {moyenne:.2f}")
📋 Listes
• Ordonnées
• Modifiables
• Doublons autorisés
• [] ou list()
🔒 Tuples
• Ordonnés
• Immutables
• Doublons autorisés
• () ou tuple()
🗂️ Dictionnaires
• Clé-valeur
• Non ordonnés (3.7+)
• Clés uniques
• {} ou dict()
🎯 Sets
• Non ordonnés
• Éléments uniques
• Modifiables
• {} ou set()
⚙️ Fonctions
1. Définir une fonction
# Fonction simpledefsaluer(nom):
returnf"Bonjour {nom} !"# Fonction avec plusieurs paramètresdefaddition(a, b):
return a + b
# Fonction avec valeur par défautdefpuissance(nombre, exposant=2):
return nombre ** exposant
# Appels de fonction
message = saluer("Alice")
resultat = addition(5, 3)
carre = puissance(4) # 16 (exposant=2 par défaut)
cube = puissance(4, 3) # 64
2. Arguments *args et **kwargs
# *args : nombre variable d'arguments positionnelsdefsomme(*args):
total = 0for nombre in args:
total += nombre
return total
print(somme(1, 2, 3, 4, 5)) # 15# **kwargs : arguments nommésdefafficher_infos(**kwargs):
for cle, valeur in kwargs.items():
print(f"{cle}: {valeur}")
afficher_infos(nom="Alice", age=25, ville="Paris")
3. Fonctions lambda
# Fonction lambda (anonyme)
carre = lambda x: x ** 2print(carre(5)) # 25# Lambda avec map, filter, reduce
nombres = [1, 2, 3, 4, 5]
# map : appliquer une fonction à chaque élément
carres = list(map(lambda x: x**2, nombres))
# filter : filtrer les éléments
pairs = list(filter(lambda x: x % 2 == 0, nombres))
# Trier avec lambda
etudiants = [("Alice", 15), ("Bob", 12), ("Charlie", 18)]
trie = sorted(etudiants, key=lambda x: x[1], reverse=True)
Quelle est la syntaxe correcte pour définir une fonction en Python ?
🎭 Programmation Orientée Objet
1. Classes et Objets
# Définir une classeclassPersonne:
# Constructeurdef__init__(self, nom, age):
self.nom = nom
self.age = age
# Méthodedefse_presenter(self):
returnf"Je m'appelle {self.nom} et j'ai {self.age} ans"# Méthode pour modifier l'âgedefanniversaire(self):
self.age += 1# Créer des objets
alice = Personne("Alice", 25)
bob = Personne("Bob", 30)
print(alice.se_presenter())
alice.anniversaire()
2. Héritage
# Classe parenteclassAnimal:
def__init__(self, nom):
self.nom = nom
defparler(self):
pass# Classes enfantsclassChien(Animal):
defparler(self):
returnf"{self.nom} dit Wouf!"classChat(Animal):
defparler(self):
returnf"{self.nom} dit Miaou!"# Utilisation
rex = Chien("Rex")
felix = Chat("Felix")
print(rex.parler()) # Rex dit Wouf!print(felix.parler()) # Felix dit Miaou!
classEtudiant:
nombre_etudiants = 0# Variable de classedef__init__(self, nom, age, notes=None):
self.nom = nom
self.age = age
self.notes = notes if notes else []
Etudiant.nombre_etudiants += 1defajouter_note(self, note):
self.notes.append(note)
defmoyenne(self):
ifnotself.notes:
return0returnsum(self.notes) / len(self.notes)
def__str__(self):
returnf"Étudiant: {self.nom}, Moyenne: {self.moyenne():.2f}"# Utilisation
alice = Etudiant("Alice", 20)
alice.ajouter_note(15)
alice.ajouter_note(18)
alice.ajouter_note(16)
print(alice)
🚀 Concepts Avancés
1. Gestion des fichiers
# Écrire dans un fichierwithopen("fichier.txt", "w") as f:
f.write("Bonjour Python!\n")
f.write("Deuxième ligne\n")
# Lire un fichierwithopen("fichier.txt", "r") as f:
contenu = f.read()
print(contenu)
# Lire ligne par lignewithopen("fichier.txt", "r") as f:
for ligne in f:
print(ligne.strip())
2. Gestion des exceptions
# Try/Excepttry:
nombre = int(input("Entrez un nombre: "))
resultat = 10 / nombre
print(f"Résultat: {resultat}")
exceptValueError:
print("Veuillez entrer un nombre valide!")
exceptZeroDivisionError:
print("Division par zéro impossible!")
finally:
print("Bloc finally exécuté")
3. Modules et packages
# Importer un moduleimport math
print(math.pi)
print(math.sqrt(16))
# Import avec aliasimport numpy as np
import pandas as pd
# Import spécifiquefrom datetime import datetime, timedelta
from random import randint, choice
# Modules utilesimport os # Système d'exploitationimport sys # Système Pythonimport json # Manipulation JSONimport requests # Requêtes HTTP
4. Compréhensions avancées
# List comprehension avec condition
nombres = [x for x inrange(20) if x % 2 == 0]
# Dict comprehension
carres = {x: x**2for x inrange(10)}
# Set comprehension
unique_lettres = {c.lower() for c in"Hello World"if c.isalpha()}
# Generator expression (économise mémoire)
gen = (x**2for x inrange(1000000))
📦 Bibliothèques populaires
• NumPy: Calcul scientifique
• Pandas: Analyse de données
• Matplotlib: Visualisation
• Django/Flask: Web
🛠️ Outils essentiels
• pip: Gestionnaire de packages
• venv: Environnements virtuels
• pytest: Tests unitaires
• pylint: Qualité du code
💡 Bonnes pratiques
• Code lisible et commenté
• Noms de variables clairs
• DRY (Don't Repeat Yourself)
• PEP 8 style guide
🎯 Projets à réaliser
• Calculatrice
• To-Do List
• Web scraper
• API REST
🎉 Félicitations !
Vous avez maintenant les bases solides de Python ! Continuez à pratiquer en créant vos propres projets.
Prochaines étapes :
Explorez les bibliothèques spécialisées (NumPy, Pandas, etc.)