Wir stellen nur aktuelle Versionen von Python vor. Es kann allerdings sein, dass man für manche (sehr speziellen) Einsatzzwecke Python 2.7 verwenden muss.
Mit dem Erscheinen von Python 3.0 wurden einige größere Änderungen eingebracht - und die fehlen dann natürlich in 2.7. Außerdem hat die Standardbibliothek im Laufe der Zeit einige neue Module erhalten.
Python 2.7 unterstützt viele Änderungen in Python 3.0 schon - sie müssen nur noch aktiviert werden. Dazu müssen die folgenden zwei Zeilen an den Anfang (!) jeder Datei gepackt werden:
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function, unicode_literals
from io import open(Warum unbedingt an den Anfang der Datei?
Syntaktisch ist das ein Kommentar und ein import-Statement, semantisch sind dies allerdings Anweisungen an den Compiler.)
Die erste Zeile sorgt dafür, dass der Quellcode als UTF-8 gelesen wird.
Die zweite Zeile aktiviert die neue Import-Reihenfolge, die neue Division (/ gibt float zurück), die print-Funktion (statt einem Statement) und Unicode-Strings als Standard.
Die dritte Zeile ersetzt open durch das aus Python 3 bekannte.
inputheißtraw_input- viele Funktionen geben Listen oder Tupel zurück statt Iteratoren (z.B.
xrangestattrangeverwenden) - viele Funktionen verwenden Bytestrings statt Unicodestrings
- Klassen müssen explizit von
objecterben ints,lists unddicts haben eine maximale Länge (eventuell stattintlongverwenden)- einige Dinge in der Standardbibliothek wurden verschoben (siehe z.B. diese Tabelle)
- ...