Leitfaden für Java-Entwickler

Python für Java-Entwickler: Lerne Python mit dem, was du schon weißt

Du kennst schon Java? Entdecke, wie sich vertraute Programmierkonzepte in Python übersetzen, was anders funktioniert und wie du am schnellsten produktiv wirst.

Java und Python im direkten Vergleich

Jedes Paar unten erledigt dieselbe Aufgabe. Lies das Java, das du kennst, und sieh dann, wie Python es ausdrückt.

Variablen, Typen und Funktionen

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 kennt keine Typdeklarationen: Ein Name verweist einfach auf einen Wert. Typannotationen dokumentieren die Absicht und helfen Editoren und Tools, aber Python erzwingt sie während der Programmausführung nicht.

Listen, Maps und Dictionaries

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"]

Listen und Dictionaries sind fest in die Sprache eingebaut – mit Literal-Syntax, ohne Importe und ohne Generics. Der Zugriff auf einen fehlenden Schlüssel mit [] löst KeyError aus; mit ages.get(name) erhältst du stattdessen None, ähnlich wie bei Map.get in Java.

Schleifen und Iteration

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 läuft direkt über die Elemente. Brauchst du zusätzlich die Position, liefert enumerate Index und Wert zusammen – einen Zähler musst du nicht verwalten.

Klassen und Objekte

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 ist ein expliziter erster Parameter statt eines impliziten this, und Objekte erzeugst du ohne new. Python hat keine Zugriffsmodifizierer; ein führender Unterstrich wie in _x kennzeichnet per Konvention etwas Internes.

Was Java-Entwickler umlernen müssen

Einige Gewohnheiten lassen sich schlecht übertragen. Diese Umstellungen zählen am meisten.

  • Einrückung ist die Syntax

    Blöcke beginnen mit einem Doppelpunkt und werden durch Einrückung statt durch geschweifte Klammern festgelegt. Nutze vier Leerzeichen und bleibe konsequent.

  • Typen werden zur Laufzeit geprüft

    Dynamische Typisierung bedeutet: Ein Name kann auf jeden Wert verweisen, und Typfehler zeigen sich erst, wenn die Zeile ausgeführt wird. Optionale Typannotationen und ein Prüfer wie mypy bringen einen Teil der Java-Sicherheit zurück.

  • Iteriere über Elemente, nicht über Indizes

    Laufe direkt über die Sammlung. Greife zu enumerate oder zip, bevor du range(len(items)) schreibst.

  • Setze auf eingebaute Sammlungen

    Listen, Dictionaries, Sets und Tupel decken das meiste ab, was du aus java.util importierst. Eine Comprehension wie [len(w) for w in words] ersetzt eine einfache Schleife, die eine Liste aufbaut; mit einem if am Ende filterst du.

  • Schreibe Python, nicht Java in Python

    Verzichte auf Getter, Setter und Klassen mit nur einer Methode. Einfache Funktionen und Module sind völlig normal, und Namen schreibt man in snake_case.

Dein Fahrplan von Java zu Python

  1. Vertraute Konzepte übersetzen

    Ordne Java-Konzepte Python zu.

  2. Die Besonderheiten von Python lernen

    Sammlungen, Funktionen, idiomatischer Stil.

  3. Mit echtem Code üben

    Löse kleine Aufgaben, statt nur zu lesen.

  4. Sicherheit aufbauen

    Schwierigere, realistischere Aufgaben.

Der Lernpfad „Python für Entwickler“ von Hintor richtet sich an Entwickler, die die Sprache wechseln, und enthält praktische Übungen direkt in den Lektionen. Lernpfad „Python für Entwickler“ ansehen

Mini-Aufgabe

Schreibe Python-Code, der aus einer Liste von Ganzzahlen eine neue Liste erzeugt, die nur die Quadrate der geraden Zahlen enthält.

Eingabe
[1, 2, 3, 4, 5, 6]
Erwartete Ausgabe
[4, 16, 36]

Tipp: Eine List Comprehension kann einen if-Filter enthalten, und n % 2 == 0 prüft, ob n gerade ist.

Bereit, dein Java-Wissen in Python-Können zu verwandeln?

Du weißt bereits, wie man programmiert. Jetzt lernst du mit geführten Lektionen und praktischen Übungen, in Python zu denken.

Jetzt Python bei Hintor lernen
Python für Java-Entwickler | Python schneller lernen – Hintor