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
Récapitulatif transversal des quatre piliers de la syntaxe Python : branchement, boucles, exceptions et fonctions avancées. Pour choisir entre if / for / while / try et def / lambda / clôture / yield.
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 ?