Looking for python Keywords? Try Ask4Keywords

Python LanguageInkompatibilitäten von Python 2 zu Python 3


Einführung

Im Gegensatz zu den meisten Sprachen unterstützt Python zwei Hauptversionen. Seit 2008, als Python 3 veröffentlicht wurde, haben viele den Übergang vollzogen, viele jedoch nicht. In beiden Abschnitten werden die wichtigsten Unterschiede zwischen Python 2 und Python 3 erläutert.

Bemerkungen

Momentan gibt es zwei unterstützte Versionen von Python: 2.7 (Python 2) und 3.6 (Python 3). Zusätzlich erhalten die Versionen 3.3 und 3.4 Sicherheitsupdates im Quellformat.

Python 2.7 ist abwärtskompatibel mit den meisten früheren Python-Versionen und kann Python-Code in den meisten 1.x- und 2.x-Versionen von Python unverändert ausführen. Es ist breit verfügbar, mit einer umfangreichen Sammlung von Paketen. Es wird auch von den CPython-Entwicklern als veraltet eingestuft und erhält nur Sicherheits- und Bugfix-Entwicklungen. Die CPython-Entwickler beabsichtigen, diese Version der Sprache im Jahr 2020 aufzugeben.

Laut Python Enhancement Proposal 373 sind nach dem 25. Juni 2016 keine zukünftigen zukünftigen Versionen von Python 2 geplant, aber Bug-Fixes und Sicherheitsupdates werden bis 2020 unterstützt. (Es wird nicht angegeben, welches Datum in 2020 das Verfallsdatum von Python sein wird 2.)

Python 3 brach absichtlich die Rückwärtskompatibilität auf, um die Bedenken der Sprachentwickler mit dem Kern der Sprache zu berücksichtigen. Python 3 erhält neue Entwicklungen und neue Funktionen. Es ist die Version der Sprache, mit der die Sprachentwickler fortfahren möchten.

In der Zeit zwischen der ersten Version von Python 3.0 und der aktuellen Version wurden einige Funktionen von Python 3 in Python 2.6 zurückportiert, und andere Teile von Python 3 wurden erweitert, um eine mit Python 2 kompatible Syntax zu erhalten. Daher ist das Schreiben möglich Python, das sowohl für Python 2 als auch für Python 3 verwendet werden kann, indem zukünftige Importe und spezielle Module (wie sechs ) verwendet werden.

Zukünftige Importe müssen am Anfang Ihres Moduls stehen:

from __future__ import print_function
# other imports and instructions go after __future__
print('Hello world')

Weitere Informationen zum __future__ Modul finden Sie auf der entsprechenden Seite in der Python-Dokumentation .

Das 2to3-Tool ist ein Python-Programm, das Python 2.x-Code in Python 3.x-Code konvertiert, siehe auch die Python-Dokumentation .

Das Paket 6 enthält Dienstprogramme für die Python 2/3-Kompatibilität:

  • einheitlicher Zugriff auf umbenannte Bibliotheken
  • Variablen für String- / Unicode-Typen
  • Funktionen für Methoden, die entfernt oder umbenannt wurden

Eine Referenz für Unterschiede zwischen Python 2 und Python 3 finden Sie hier .

Inkompatibilitäten von Python 2 zu Python 3 Verwandte Beispiele