Guide pour les développeurs Java

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

Tu connais déjà Java ? 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.

Java et Python, côte à côte

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

Variables, types et fonctions

Java
int total = 0;
String name = "Ada";

static int add(int a, int b) {
    return a + b;
}
Python
total = 0
name = "Ada"

def add(a: int, b: int) -> int:
    return a + b

Python n'a pas de déclaration de type : un nom référence simplement une valeur. Les annotations de type documentent l'intention et aident les éditeurs et les outils, mais Python ne les impose pas pendant l'exécution du programme.

Listes, maps et dictionnaires

Java
List<String> langs = new ArrayList<>(List.of("Java", "Python"));
langs.add("SQL");

Map<String, Integer> ages = new HashMap<>();
ages.put("Ada", 36);
int age = ages.get("Ada");
Python
langs = ["Java", "Python"]
langs.append("SQL")

ages = {"Ada": 36}
age = ages["Ada"]

Les listes et les dictionnaires sont intégrés au langage, avec une syntaxe littérale, sans import ni génériques. Lire une clé absente avec [] lève KeyError ; utilise ages.get(name) pour obtenir None à la place, comme avec Map.get en Java.

Boucles et itération

Java
for (int i = 0; i < names.size(); i++) {
    System.out.println(i + ": " + names.get(i));
}
Python
for i, name in enumerate(names):
    print(f"{i}: {name}")

Python parcourt directement les éléments. Quand tu as aussi besoin de la position, enumerate fournit l'indice et la valeur ensemble, sans compteur à gérer.

Classes et objets

Java
public class Point {
    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public double distanceToOrigin() {
        return Math.sqrt(x * x + y * y);
    }
}
Python
import math

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def distance_to_origin(self):
        return math.hypot(self.x, self.y)

self est un premier paramètre explicite plutôt qu'un this implicite, et on crée les objets sans new. Python n'a pas de modificateurs d'accès ; un tiret bas initial, comme dans _x, indique par convention qu'un élément est interne.

Ce que les développeurs Java 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, pas par des accolades. Utilise quatre espaces et reste cohérent.

  • Les types sont vérifiés à l'exécution

    Le typage dynamique signifie qu'un nom peut référencer n'importe quelle valeur, et les erreurs de type apparaissent quand la ligne s'exécute. Des annotations de type facultatives et un vérificateur comme mypy te rendent une partie de la sécurité de Java.

  • Itère sur les éléments, pas sur les indices

    Parcours directement la collection. Pense à enumerate ou zip avant d'écrire range(len(items)).

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

    Listes, dictionnaires, ensembles et tuples couvrent l'essentiel de ce que tu importes depuis java.util. Une compréhension comme [len(w) for w in words] remplace une boucle simple qui construit une liste ; ajoute un if à la fin pour filtrer.

  • Écris du Python, pas du Java en Python

    Oublie les getters, les setters et les classes à une seule méthode. Les fonctions et les modules simples sont tout à fait normaux, et les noms s'écrivent en snake_case.

Ta feuille de route de Java vers Python

  1. Traduire les concepts familiers

    Associe les concepts Java à 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 Java 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 Java | Apprends Python plus vite – Hintor