Question 1Quelle boucle est la mieux adaptée quand la fin est déterminée par un nombre fixe d'éléments ?
Récapitulatif de la syntaxe Python — Choisir entre flux de contrôle et fonctions
Un tour d'horizon de la syntaxe Python (flux de contrôle et fonctions). Une carte claire qui croise branchement conditionnel, boucles, gestion d'exceptions et applications des fonctions.
La syntaxe Python est la boîte à outils pour orchestrer le comportement
Dans Les bases de Python, tu as appris les types qui contiennent tes données — int / str / list / dict. La série Syntaxe Python est la couche supérieure : la boîte à outils pour faire circuler le comportement sur ces données.
Tu peux regrouper tout le contenu de cette série en quatre missions : brancher selon des conditions, répéter le travail, rattraper les échecs et regrouper la logique pour la réutiliser.
Flux de contrôle — Branchement, boucles et exceptions
Trois familles à garder sous la main : la famille if pour choisir le comportement, la famille des boucles pour parcourir les éléments, et la famille des exceptions pour survivre aux échecs.
| Catégorie | Syntaxe / Fonction | Usage typique |
|---|---|---|
| Branchement | if / elif / else | Choisir une branche selon une valeur ou un état |
| Branchement | all() / any() | Vérifier en bloc si tous ou au moins un élément satisfait une condition |
| Boucle | for + range / enumerate / zip | Parcourir une collection élément par élément |
| Boucle | while | Répéter tant qu'une condition est vraie (attention aux boucles infinies) |
| Boucle | Compréhensions de liste | Regrouper for + filtre + transformation en une seule ligne |
| Expr. d'affectation | Opérateur morse := | Affecter et tester en une ligne (réduit la duplication dans while / if) |
| Exceptions | try / except / finally | Rattraper les erreurs d'exécution et nettoyer |
| Lever | raise / classes d'exception personnalisées | Lever toi-même une exception quand des hypothèses se brisent |
Fonctions — La boîte à outils de la réutilisation
Définir une fonction avec def est simple, mais les fonctions Python s'accompagnent aussi d'une boîte à outils de fonctionnalités avancées — passer des fonctions comme des valeurs, définir des fonctions à l'intérieur de fonctions et les décorer — c'est ce qui rend le code Python réutilisable et maintenable.
def au centre, la boîte à outils se ramifie dans quatre directions : arguments flexibles (args/kwargs), manipulation de portée (closures, nonlocal), évaluation paresseuse (générateurs) et décoration (ordre supérieur, décorateurs, lambda, map).| Catégorie | Syntaxe / Fonction | Usage typique |
|---|---|---|
| Définition | def / return | Donner un nom à un morceau de logique pour le réutiliser |
| Arguments | *args / **kwargs et retours multiples | Accepter un nombre quelconque d'arguments / déballer au site d'appel |
| Attention | Piège des arguments mutables | Les arguments list / dict sont partagés avec l'appelant. Utilise None par défaut |
| Portée | Fonctions internes et closures — global / nonlocal | Construire une fonction qui se souvient (ou réécrit) des valeurs externes |
| Éval. paresseuse | Fonctions génératrices yield | Produire une énorme séquence un élément à la fois pour économiser la mémoire |
| Fonctions comme valeurs | Fonctions d'ordre supérieur | Prendre ou retourner des fonctions comme arguments / valeurs de retour |
| Fonctions comme valeurs | Expressions lambda | Fonctions anonymes d'une seule ligne |
| Fonctions comme valeurs | map() | Appliquer une fonction à chaque élément d'une liste d'un coup |
| Décoration | Décorateurs @ | Greffer journalisation, mesure de temps ou cache sur des fonctions existantes |
La suite — Regrouper données et comportement avec class
Ensuite, Programmation orientée objet en Python te montre comment utiliser class pour regrouper données (attributs) et comportement (méthodes) dans un seul objet — c'est exactement ce qu'est la programmation orientée objet.
Vérification des connaissances
Répondez à chaque question une par une.
Question 2Quel est le moyen le plus concis pour vérifier si tous les éléments de nums sont positifs ?
Question 3Quel est le mieux adapté pour greffer une logique commune comme la journalisation ou la mesure de temps sur des fonctions existantes ?