Passer à Python depuis un autre langage

Vous n'avez pas besoin de réapprendre ce qu'est une boucle : vous avez besoin de désapprendre quelques réflexes. On va vite sur les bases, et on ralentit sur ce qui surprend les nouveaux venus : les variables, la mutabilité, le duck typing, l'itération. Chaque idiome est comparé à la façon de l'écrire dans votre langage.

Durée : 3 jours · Niveau : intermédiaire

Pour qui : les développeurs expérimentés venant de Java, JavaScript, PHP, C#, C++ ou d'un autre langage.

Prérequis : être à l'aise dans au moins un langage de programmation.

Switching to Python from another language

Jour 1 — Le langage, en accéléré

  • Installation de Python : les bonnes pratiques, et uv
  • L'interpréteur, ipython et le travail dans le REPL
  • Les types de base, et ce que sont vraiment None, True et False
  • Tout objet est vrai ou faux
  • Indentation, conditions et boucles
  • While : un if qui se répète
  • Listes, tuples, dictionnaires et sets
  • Les chaînes et les f-strings
  • Lire un message d'erreur et la stack trace
  • Les exceptions : demander pardon plutôt que la permission

Jour 2 — Penser en Python

  • La particularité des variables en Python
  • Ne pas se laisser surprendre par la mutabilité
  • Gagner du temps avec l'unpacking
  • Fonctions, valeurs par défaut et paramètres nommés
  • Des API souples avec *args et **kwargs
  • Les compréhensions plutôt que map et filter
  • Les compagnons de l'itération : enumerate, zip, itertools
  • Évaluation paresseuse grâce aux générateurs
  • Les context managers et with
  • Modules, imports et packages

Jour 3 — Ce qu'il faut laisser à la porte

  • Des classes sans la cérémonie
  • Getter et setter : pas aussi utiles en Python
  • Les properties plutôt que les accesseurs
  • Duck typing et protocoles
  • Composition VS héritage
  • Les méthodes dunder : des objets qui ont l'air natifs
  • Dataclasses et Pydantic
  • Les annotations de type, vérifiées par mypy
  • L'écosystème : uv, ruff, pytest
  • Là où Python est lent, et quoi y faire

Passez au niveau supérieur en Python !