📘 Fiche de cours
L'essentiel du cours
1. Types de données et Structures de base
- Types simples :
int,float,bool,str. - Structures de données :
- Listes (
list) : Ordonnées, mutables. Accès par indice $L[i]$. - Tuples (
tuple) : Ordonnés, immutables. Utilisés pour des données fixes. - Dictionnaires (
dict) : Collections non ordonnées de pairesclé: valeur. Accès rapide par clé.
- Listes (
2. Structures de contrôle
- Conditionnelles :
if,elif,else. - Boucles :
for i in range(n): Itération déterminée.while condition: Itération conditionnelle.
3. Fonctions et Portée
- Définition :
def nom_fonction(paramètres):. - Variables locales : Définies dans la fonction, invisibles ailleurs.
- Variables globales : Définies hors des fonctions. Utiliser
globalpour les modifier (à éviter).
4. Récursivité
Une fonction est récursive si elle s'appelle elle-même. Elle nécessite :
- Un cas de base (condition d'arrêt).
- Un appel récursif vers un cas plus simple.
5. Compréhension de listes
Syntaxe concise : [expression for element in sequence if condition].
Méthodes à maîtriser
- Slicing :
L[début:fin:pas]pour extraire des sous-listes. - Méthodes de listes :
append(),extend(),pop(),insert(),sort(). - Gestion des fichiers :
with open('file.txt', 'r') as f:. - Passage d'arguments : Par position ou par mot-clé.
Exemples corrigés
- Calcul de la moyenne d'une liste :
def moyenne(L):
if not L: return 0
return sum(L) / len(L)
- Inversion d'une chaîne par slicing :
s[::-1].
Erreurs fréquentes
- IndexError : Accéder à un indice $i \ge len(L)$.
- TypeError : Confondre les types (ex: additionner
stretint). - RecursionError : Oublier le cas de base dans une fonction récursive.
- Effet de bord : Modifier une liste passée en argument sans le vouloir.