1. Syntax: Python 2 verwendet eine mehr formale und alte Syntax, während Python 3 eine etwas einfachere und sauberere Syntax bietet.
2. Print Funktion: In Python 2 kann “print” als Statement sowie als Funktion verwendet werden, während in Python 3 “print” nur als Funktion verwendet wird.
3. Integer Division: In Python 2 ergibt die Division von zwei Ganzzahlen immer eine Ganzzahl, während Python 3 eine Gleitkommazahl zurückgibt.
4. Unicode-Unterstützung: Python 2 behandelt Strings als ASCII, es sei denn, sie werden als Unicode definiert. Python 3 behandelt dagegen alle Strings als Unicode.
5. Fehlerbehandlung: Fehler werden in Python 2 häufig ignoriert, um zu vermeiden, dass das Programm abstürzt. In Python 3 wird der Fehler jedoch sofort gemeldet, was die Fehlerbehandlung einfacher macht.
6. Range vs. Xrange: Python 2 hat zwei Funktionen für Schleifen: range und xrange. Die Funktion “range” gibt eine Liste von Zahlen zurück, während “xrange” ein Generatorobjekt zurückgibt. Python 3 hat nur die Funktion “range”, die das Verhalten von “xrange” aus Python 2 nachahmt und ein Objekt vom Typ “range” generiert, das wesentlich effizienter ist als eine Listenstruktur.
7. Entwicklungsunterstützung: Die Unterstützung für Python 2 wurde 2020 eingestellt, während Python 3 kontinuierlich weiterentwickelt und unterstützt wird. Aus diesem Grund wird empfohlen, Python 3 für neue Projekte zu verwenden.