Guide pour les développeurs JavaScript

Python pour les développeurs JavaScript : apprends Python à partir de ce que tu sais déjà

Tu connais déjà JavaScript ? Découvre comment les concepts de programmation que tu maîtrises se traduisent en Python, ce qui fonctionne différemment et le chemin le plus rapide pour devenir productif.

JavaScript et Python, côte à côte

Chaque paire ci-dessous fait le même travail. Pars du code que tu connais, puis vois comment Python l'exprime.

Variables : let, const et undefined

JavaScript
let count = 0;
const limit = 10;
let missing;            // undefined
Python
count = 0
LIMIT = 10              # constant by convention only
missing = None

Python n'a ni let ni const : l'affectation crée le nom, et un nom en majuscules n'est qu'une convention. Il n'y a pas de undefined : lire un nom jamais affecté lève NameError, une clé absente lève KeyError, et None est une valeur vide explicite.

Objets et dictionnaires

JavaScript
const user = { name: "Ada", age: 36 };
user.email = "ada@example.com";
delete user.age;
console.log("name" in user);
Python
user = {"name": "Ada", "age": 36}
user["email"] = "ada@example.com"
del user["age"]
print("name" in user)

Les dictionnaires utilisent [] avec des clés textuelles, jamais la notation pointée, et user.get("age") renvoie None au lieu de lever KeyError. Un dictionnaire ne contient que des données : pour des données avec comportement, définis une classe.

map/filter et compréhensions

JavaScript
const doubled = nums
  .filter(n => n > 0)
  .map(n => n * 2);
Python
doubled = [n * 2 for n in nums if n > 0]

square = lambda n: n * n

Une compréhension remplace la plupart des chaînes filter et map. Python a aussi lambda, mais limité à une seule expression : utilise def pour tout ce qui est plus long ; il n'existe pas de syntaxe de fonction fléchée. Les versions intégrées de Python renvoient des itérateurs paresseux, pas des listes.

async/await

JavaScript
async function loadAll(urls) {
  return Promise.all(urls.map(fetchText));
}
Python
import asyncio

async def load_all(urls):
    return await asyncio.gather(*(fetch_text(url) for url in urls))

async et await se ressemblent, mais une coroutine Python ne démarre pas tant qu'elle n'est pas attendue ou planifiée, alors qu'une Promise JavaScript démarre immédiatement. Python ne fournit pas de boucle d'événements déjà active : lance-en une avec asyncio.run(...).

Ce que les développeurs JavaScript doivent désapprendre

Quelques habitudes se transposent mal. Ces changements comptent le plus.

  • L'indentation, c'est la syntaxe

    Les blocs commencent par deux-points et se définissent par l'indentation plutôt que par des accolades, et on n'utilise pas de points-virgules. Utilise quatre espaces et reste cohérent.

  • Véracité et types diffèrent

    Les listes, dictionnaires et chaînes vides sont considérés comme faux en Python, contrairement à un tableau vide en JavaScript, et None remplace à la fois null et undefined. Compare avec is None, pas avec ==.

  • Les compréhensions remplacent map et filter

    Une compréhension comme [n * 2 for n in nums if n > 0] fait le travail de filter suivi de map en une seule ligne lisible.

  • Appuie-toi sur les collections intégrées

    Listes, dictionnaires, ensembles et tuples couvrent ce pour quoi tu utilises les tableaux, les objets, Map et Set. Utilise in pour tester l'appartenance et len(items) au lieu de .length.

  • Écris du Python, pas du JavaScript en Python

    Évite les callbacks quand une boucle ou une compréhension se lit mieux. Utilise snake_case plutôt que camelCase, et and, or, not au lieu de &&, ||, !.

Ta feuille de route de JavaScript vers Python

  1. Traduire les concepts familiers

    Associe la syntaxe et les concepts familiers à Python.

  2. Apprendre les différences de Python

    Collections, fonctions, style idiomatique.

  3. S'entraîner sur du vrai code

    Résous de petits problèmes, ne fais pas que lire.

  4. Gagner en confiance

    Des défis plus réalistes et plus difficiles.

Le parcours Python pour les développeurs de Hintor s'adresse aux développeurs qui changent de langage, avec des exercices pratiques intégrés aux leçons. Découvrir le parcours Python pour les développeurs

Mini-défi

À partir d'une liste d'entiers, écris du code Python qui crée une nouvelle liste contenant uniquement les carrés des nombres pairs.

Entrée
[1, 2, 3, 4, 5, 6]
Sortie attendue
[4, 16, 36]

Indice : une compréhension de liste peut inclure un filtre if, et n % 2 == 0 teste si n est pair.

Prêt à transformer tes connaissances JavaScript en compétences Python ?

Tu sais déjà programmer. Apprends maintenant à penser en Python avec des leçons guidées et de la pratique concrète.

Commencer à apprendre Python sur Hintor
Python pour les développeurs JavaScript | Apprends Python plus vite – Hintor