Lisibilite
La syntaxe ressemble a du pseudo-code. Les blocs sont courts, explicites et faciles a relire.
Debutant Pratique Vitrine composants Astro Starlight
Python est souvent choisi quand la vitesse d’apprentissage, la lisibilite et l’ecosysteme comptent plus que la performance brute. Le premier objectif est de savoir decomposer un probleme : donnees, fonctions, fichiers, erreurs, tests.
Lisibilite
La syntaxe ressemble a du pseudo-code. Les blocs sont courts, explicites et faciles a relire.
Ecosysteme
Automatisation, data, IA, APIs, tests, CLI et web disposent deja de bibliotheques solides.
Productivite
Peu de ceremonie, feedback rapide, bonne integration avec le terminal et les outils modernes.
Portabilite
Le meme code peut tourner sur macOS, Linux, Windows, serveurs et environnements cloud.
brew install pythonpython3 --versionpython3 -m venv .venvsource .venv/bin/activatewinget install Python.Python.3.12python --versionpython -m venv .venv.venv\Scripts\Activate.ps1sudo apt updatesudo apt install python3 python3-venvpython3 -m venv .venvsource .venv/bin/activatevenv pour l’installation de base.Cette structure separe le code applicatif, les tests et la configuration du projet. Elle reste simple tout en evitant le dossier fourre-tout.
from greetings import build_message
def main() -> None: name = "Ada" print(build_message(name))
if __name__ == "__main__": main()def build_message(name: str) -> str: cleaned_name = name.strip() or "inconnu" return f"Bonjour, {cleaned_name}."| Type | Exemple | Usage typique |
|---|---|---|
str | "Python" | Texte, identifiants, messages |
int | 42 | Compteurs, index, quantites |
float | 3.14 | Mesures, ratios, calculs |
bool | True | Conditions, flags |
list | [1, 2, 3] | Collections ordonnees modifiables |
dict | {"name": "Ada"} | Donnees cle-valeur |
tuple | (10, 20) | Paires ou groupes immuables |
set | {1, 2, 3} | Unicite, appartenance rapide |
score = 87
if score >= 90: level = "excellent"elif score >= 70: level = "solide"else: level = "a renforcer"
print(level)Une condition courte se relit vite et limite les effets de bord caches.
Un nom de fonction explique souvent mieux une intention qu un commentaire.
users = ["Ada", "Grace", "Linus"]
for user in users: print(f"Bonjour {user}")remaining_attempts = 3
while remaining_attempts > 0: print("Tentative") remaining_attempts -= 1numbers = [1, 2, 3, 4]squares = [number * number for number in numbers]Une fonction doit faire une chose claire, recevoir ses entrees en parametres et retourner un resultat previsible.
def calculate_total(prices: list[float], tax_rate: float = 0.2) -> float: subtotal = sum(prices) return subtotal * (1 + tax_rate)
total = calculate_total([10.0, 15.5, 4.5])# A eviterdef add_item(item: str, items: list[str] = []) -> list[str]: items.append(item) return items
# Prefererdef add_item(item: str, items: list[str] | None = None) -> list[str]: result = [] if items is None else list(items) result.append(item) return resultfrom dataclasses import dataclass
@dataclassclass Task: title: str done: bool = False
def mark_done(self) -> None: self.done = True
task = Task("Ecrire le document Python")task.mark_done()def parse_quantity(raw_value: str) -> int: try: quantity = int(raw_value) except ValueError as error: raise ValueError("La quantite doit etre un entier") from error
if quantity < 0: raise ValueError("La quantite doit etre positive")
return quantityfrom pathlib import Path
path = Path("notes.txt")path.write_text("Bonjour Python\n", encoding="utf-8")content = path.read_text(encoding="utf-8")print(content)Module standard
API moderne pour manipuler les chemins de fichiers avec des objets `Path`.
tasks.py.normalize_task(title: str) -> str..strip().def normalize_task(title: str) -> str: normalized = title.strip()
if not normalized: raise ValueError("Le titre ne peut pas etre vide")
return normalizedimport pytest
from tasks import normalize_task
def test_normalize_task_removes_spaces() -> None: assert normalize_task(" Lire ") == "Lire"
def test_normalize_task_rejects_empty_title() -> None: with pytest.raises(ValueError): normalize_task(" ")Version, environnement virtuel, premier print.
Parametres, retours, assertions, erreurs attendues.
Modules, fichiers, README, dependances.
Apprenant
Apprenant
Apprenant
Apprenant
| Besoin | Python natif | Bibliotheque courante |
|---|---|---|
| Automatiser des fichiers | pathlib, csv, json | click, rich |
| Appeler une API | urllib | requests, httpx |
| Tester | unittest | pytest |
| Data | csv, statistics | pandas, polars |
| Web | http.server | FastAPI, Django |
Retour aux ressources Python Tutoriel officiel
Cette page combine composants natifs Starlight et composants documentaires locaux.
Reference officielle du langage, de la bibliotheque standard et des guides.
Reference pratique pour les environnements, paquets et projets Python.
Reference pour les composants Starlight utilises dans cette page MDX.