Référence Python
Wiki Python
Syntaxe et rappels pour Python, pandas, numpy, matplotlib, les fichiers et les environnements.
- fiches
- 37
- catégories
- 8
- Version
- 3.12
Bases
Variables, types, opérateurs, f-strings et méthodes de chaînes.
- VariablesUne variable est un nom posé sur une valeur, dont Python déduit le type tout seul. Nommez chaque donnée d'un calcul pour le rendre lisible, réutilisable et facile à corriger.
- Types de baseLe type d'une valeur dit ce qu'elle sait faire : int et float calculent, str porte du texte, bool sert aux tests et None marque l'absence. Vérifiez-le dès qu'une donnée vient d'un fichier.
- OpérateursLes opérateurs combinent des valeurs : calcul (+, /, //, %, **), comparaison (==, <, >=) et logique (and, or, not). Ils forment le cœur de toute formule et de toute condition de filtre.
- f-stringsUne f-string insère variables et expressions dans un texte, avec un format précis : décimales, pourcentages, séparateur de milliers. C'est la façon standard d'afficher un résultat lisible.
- Méthodes de chaînesLes méthodes de chaîne nettoient et découpent du texte : strip, lower, replace, split, join, startswith. Elles sont indispensables pour préparer des données saisies à la main ou lues d'un fichier.
Contrôle de flux
Conditions, match / case et boucles.
- if / elif / elseif, elif et else exécutent un bloc selon qu'une condition est vraie ou fausse. On s'en sert pour classer une valeur (mention, tranche de prix) ou écarter un cas particulier avant un calcul.
- match / casematch compare une valeur à des motifs (littéraux, tuples, dictionnaires) et exécute le premier qui correspond. Il remplace une longue suite d'elif quand on aiguille selon la forme d'une donnée.
- forfor parcourt un à un les éléments d'une collection : liste, chaîne, dictionnaire, range ou fichier. C'est la boucle de base pour cumuler, compter ou transformer une série de valeurs.
- whilewhile répète un bloc tant qu'une condition reste vraie, sans savoir à l'avance combien de tours il faudra. On l'emploie pour une simulation, une relance ou une recherche qui s'arrête sur un seuil.
Structures
Listes, dictionnaires, ensembles, compréhensions, tri et comptage.
- ListesUne liste est une suite ordonnée et modifiable de valeurs, indexée à partir de 0. C'est la structure de base pour stocker une série de notes, de ventes ou de lignes à traiter dans l'ordre.
- DictionnairesUn dictionnaire associe des clés uniques à des valeurs, comme une fiche ou une ligne de table. On s'en sert pour retrouver une information par son identifiant, compter ou regrouper.
- Tuples & ensemblesUn tuple est une séquence non modifiable, idéale pour un enregistrement fixe ; un set est une collection sans doublons, très rapide pour tester l'appartenance ou comparer deux listes.
- CompréhensionsUne compréhension construit une liste, un dictionnaire ou un ensemble en une seule expression qui transforme et filtre. Employez-la dès qu'une boucle ne sert qu'à remplir une collection.
- zip & enumerateenumerate numérote les éléments d'une séquence et zip parcourt plusieurs séquences en parallèle. Ils remplacent les boucles sur range(len(...)), plus longues et plus fragiles.
- sorted, min, maxsorted, min et max trient ou extraient les extrêmes, et leur paramètre key choisit le critère : une colonne, une longueur, un calcul. C'est l'usage le plus courant des fonctions lambda.
- Counter & defaultdictCounter compte les occurrences d'une collection en une ligne et defaultdict crée une valeur par défaut pour chaque nouvelle clé. Ils simplifient comptages et regroupements sans pandas.
Fonctions
def, lambda, arguments, générateurs et annotations de type.
- def — Définir une fonctiondef regroupe un traitement sous un nom, avec des paramètres en entrée et return en sortie. Écrivez une fonction dès qu'un calcul sert deux fois ou mérite d'être vérifié à part.
- lambdalambda crée une petite fonction anonyme réduite à une seule expression. Elle sert surtout à passer un critère à sorted, min, max ou à une méthode pandas, là où une def serait disproportionnée.
- *args & **kwargs*args et **kwargs acceptent un nombre variable d'arguments, et les marqueurs / et * imposent un passage positionnel ou nommé. Ils permettent des fonctions souples au contrat clair.
- Générateurs (yield)Un générateur produit ses valeurs une à une avec yield, à la demande, au lieu de tout construire en mémoire. Il convient aux gros fichiers, aux flux de logs et aux suites lues une seule fois.
- Annotations de typeLes annotations de type documentent ce qu'une fonction attend et renvoie (list[int], str | None). Python ne les vérifie pas à l'exécution, mais l'éditeur et mypy s'en servent pour repérer les erreurs.
Classes & objets
Classes, méthodes et dataclasses pour des enregistrements typés.
Modules & fichiers
import, JSON, fichiers et chemins, dates.
- importimport charge un module de la bibliothèque standard (math, json, datetime) ou un paquet installé (pandas, numpy). Placez les imports en tête de fichier pour rendre les dépendances visibles.
- JSONLe module json convertit dictionnaires et listes Python en texte JSON, et inversement. C'est le format d'échange des API web, des fichiers de configuration et des exports de nombreux outils.
- Fichiers, pathlib & csvopen avec with lit et écrit des fichiers en les refermant proprement, pathlib.Path manipule les chemins et csv découpe les lignes. Indiquez toujours encoding="utf-8" pour garder les accents.
- Dates (datetime)Le module datetime représente dates, heures et durées : calculer un délai, décaler une échéance, formater une date. Convertissez toute date écrite en texte en objet avant de calculer ou de trier.
Data (pandas / numpy)
DataFrames, filtres, agrégations, jointures, valeurs manquantes et graphiques.
- pandas — DataFramepandas manipule des tableaux (DataFrame) dont chaque colonne est une Series, comme une table SQL en mémoire. Commencez toujours par charger les données, puis inspecter leur forme et leurs types.
- numpy — tableauxnumpy fournit des tableaux numériques rapides où chaque opération s'applique à tous les éléments à la fois. C'est le moteur de pandas et de scikit-learn, utile pour calculer sur des séries de nombres.
- pandas — filtrer et sélectionnerUn masque booléen filtre les lignes d'un DataFrame, loc sélectionne par étiquette et iloc par position ; query offre une écriture proche du WHERE de SQL. C'est l'étape qui précède toute analyse.
- pandas — groupby et agrégationgroupby découpe un tableau par catégorie puis agrège chaque groupe, exactement comme GROUP BY en SQL. On s'en sert pour un CA par ville, une moyenne par classe ou un nombre de connexions par jour.
- pandas — merge (jointures)merge relie deux DataFrame sur une colonne commune, comme un JOIN en SQL, et how choisit inner, left, right ou outer. On s'en sert pour enrichir des ventes avec les données clients ou produits.
- pandas — valeurs manquantesLes valeurs manquantes (NaN, None, NaT) faussent comptages et moyennes si on les ignore : isna les repère, fillna les remplace, dropna les écarte. Décidez au cas par cas, colonne par colonne.
- matplotlib — graphiquesmatplotlib trace des graphiques à partir de listes ou de colonnes pandas : une courbe pour une évolution, des barres pour comparer des catégories. Un titre et des axes nommés le rendent lisible.
Bonnes pratiques
Débogage, exceptions, conversions et environnements.
- print & débogageprint affiche des valeurs dans la console, et ses paramètres sep et end règlent la mise en forme. C'est l'outil de débogage le plus direct pour vérifier une valeur intermédiaire pas à pas.
- try / excepttry / except intercepte une erreur prévisible (valeur illisible, clé absente, division par zéro) pour la traiter au lieu d'arrêter le programme. Ne capturez que les erreurs que vous savez gérer.
- Conversions de typeint, float, str et bool convertissent une valeur d'un type à un autre. Toute donnée lue dans un fichier, un formulaire ou une API arrive en texte : il faut la convertir avant de calculer.
- Environnements : venv, pip, uvUn environnement virtuel isole les paquets de chaque projet ; pip ou uv les installent, et pyproject.toml avec un fichier de verrouillage fige les versions. C'est la base d'un projet reproductible.