Fonctions et listes
Vidéo disponible dans la version Premium
Durée : 55 min
Fonctions et listes
### 1. Définir une fonction
Une fonction se définit avec le mot-clé def, suivi du nom, des paramètres entre parenthèses, et de : :
> def carre(x):
> return x ** 2
Le mot-clé return renvoie une valeur et termine immédiatement l'exécution de la fonction. Une fonction sans return explicite renvoie None.
Appel de la fonction : carre(5) renvoie . Les paramètres peuvent avoir des valeurs par défaut :
> def puissance(x, n=2):
> return x ** n
puissance(3) donne (utilise par défaut), puissance(3, 3) donne .
### 2. Portée des variables
Une variable définie à l'intérieur d'une fonction (variable locale) n'est pas accessible à l'extérieur. Une fonction peut lire une variable globale (définie hors de toute fonction), mais pour la modifier, il faut le mot-clé global (rarement recommandé en pratique — on préfère retourner une valeur).
### 3. Listes : création et indexation
Une liste Python est une séquence ordonnée et modifiable d'éléments, créée avec des crochets :
> L = [3, 7, 1, 9, 4]
L'indexation commence à : L[0] vaut , L[1] vaut . Les indices négatifs comptent depuis la fin : L[-1] vaut (dernier élément), L[-2] vaut .
Le découpage (slicing) L[a:b] extrait les éléments d'indices à : L[1:3] donne [7, 1].
La fonction len(L) renvoie le nombre d'éléments de la liste (ici ).
### 4. Parcourir une liste
> for x in L:
> print(x)
parcourt chaque élément de L directement (sans passer par les indices). Si l'on a besoin de l'indice et de la valeur, on utilise enumerate :
> for i, x in enumerate(L):
> print(i, x)
### 5. Méthodes courantes sur les listes
| Méthode / fonction | Effet |
|---|---|
| L.append(x) | ajoute x à la fin de L |
| L.pop() | retire et renvoie le dernier élément |
| L.sort() | trie L en place (ordre croissant) |
| sum(L) | somme des éléments |
| max(L), min(L) | valeur maximale, minimale |
| x in L | renvoie True si x appartient à L |
Exemple résolu : écrire une fonction qui renvoie la moyenne des éléments d'une liste.
> def moyenne(L):
> return sum(L) / len(L)
moyenne([2, 4, 6, 8]) renvoie .
### 6. Construire une liste avec une boucle
Pour construire une nouvelle liste à partir d'un calcul répété, on initialise une liste vide et on utilise append :
> carres = []
> for i in range(5):
> carres.append(i ** 2)
Donne carres = [0, 1, 4, 9, 16]. (Il existe une syntaxe plus compacte, la liste en compréhension [i**2 for i in range(5)], équivalente mais non indispensable au niveau L1.)
### 7. Résumé méthodologique
| Concept | Syntaxe clé |
|---|---|
| Définir une fonction | def nom(params): ... return ... |
| Indexer une liste | L[i] (depuis ), L[-1] (dernier élément) |
| Découper une liste | L[a:b] (de inclus à exclu) |
| Ajouter un élément | L.append(x) |
Exercices
Que renvoie l'appel carre(4) pour la fonction def carre(x): return x ** 2 ?
Soit L = [10, 20, 30, 40]. Que vaut L[1] ?
Vrai ou faux : une fonction Python sans instruction return renvoie automatiquement None.
Que vaut len([5, 8, 2, 9, 1]) ?
Quelle méthode ajoute un élément à la fin d'une liste L ?
Suivez votre progression
Connectez-vous pour sauvegarder votre avancement et gagner des XP.