Course
Wenn du überlegst, in die Datenwissenschaft einzusteigen, wirst du wahrscheinlich schon von Python gehört haben. Python ist eine universelle Open-Source-Programmiersprache mit breiter Anwendbarkeit in der Datenwissenschaft und anderen Softwarebereichen wie Web- und Spieleentwicklung, Cybersicherheit und Blockchain.
Die Popularität von Python hat in den letzten Jahren stark zugenommen. In verschiedenen Indizes zur Beliebtheit von Programmiersprachen, darunter der TIOBE-Index und der PYPL-Index, belegt sie den ersten Platz. In einem separaten Artikel erfährst du mehr darüber, wofür Python verwendet wird.
Aufgrund seiner einfachen und verständlichen Syntax wird Python oft als eine der am leichtesten zu erlernenden Programmiersprachen für Programmieranfänger genannt. Wenn du neu in der Datenwissenschaft bist und nicht weißt, welche Sprache du zuerst lernen sollst, ist Python eine der besten Optionen. Du kannst deine Reise in die Datenwissenschaft jetzt beginnen, indem du den Data Scientist with Python Career Track bei DataCamp belegst.
Dennoch können die Dinge ein wenig verwirrend sein. Du hast vielleicht auch schon von Python 2 und 3 gehört. Was ist das? Gibt es nicht eine einzige Python-Programmiersprache? Welches solltest du lernen? Kein Grund zur Sorge: Außer unter besonderen Umständen wirst du inzwischen immer Python 3 verwenden. Auf jeden Fall ist es immer gut, die Unterschiede zu kennen.
In den folgenden Abschnitten erklären wir, was Python 2 und 3 sind, was die Hauptunterschiede zwischen ihnen sind und welches Python am besten zu lernen und zu benutzen ist.
Was ist Python 2
Python wurde in den späten 1980er Jahren von Guido van Rossum entwickelt und 1991 zum ersten Mal der Öffentlichkeit vorgestellt. Nach neun Jahren Entwicklungszeit und wachsender Beliebtheit wurde Python 2.0 im Jahr 2000 veröffentlicht.
Python 2 kam mit einer brandneuen technischen Spezifikation namens Python Enhancement Proposal (PEP), die darauf abzielte, Richtlinien und Best Practices für das Schreiben von Python-Code bereitzustellen. Außerdem gibt es neue Funktionen wie Listenverständnis, Unicode-Unterstützung und einen zykluserkennenden Garbage Collector.
Aber die wichtigste Änderung in Python 2 betraf den Entwicklungsprozess selbst. Python wurde als eine Programmiersprache konzipiert, die für Anfänger leicht zu erlernen ist. Um dieses Ziel zu erreichen, beschloss das für die Entwicklung von Python verantwortliche Team - mit Guido ban Rossum an der Spitze -, zu einem transparenteren und von der Gemeinschaft getragenen Entwicklungsprozess überzugehen.
Python 2 hat sich im Laufe der Zeit weiterentwickelt. Nachfolgende Versionen fügten der Programmiersprache neue Funktionen hinzu. Die letzte Version von Python 2, die im Jahr 2010 veröffentlicht wurde, war Python 2.7. Der Support für diese Version endete am 1. Januar 2020.
Was ist Python 3
Python 3 ist die nächste Generation der Programmiersprache. Sie wurde im Dezember 2008 zusammen mit einigen Verbesserungen und neuen Funktionen veröffentlicht.
Python 3 war nicht einfach eine weitere Version des Python 2 Codes nach dem Debugging. In der neuen Version wurden drastische Änderungen vorgenommen, um Sicherheitsprobleme und Designfehler der Vorgängerversionen zu beheben. Python 3 wurde mit einer neuen Syntax ausgestattet, die redundanten oder sich wiederholenden Code verhindern soll, d.h. Code, der dieselbe Aufgabe auf unterschiedliche Weise erledigt. Durch die Bereitstellung einer einzigen, klaren Vorgehensweise hat sich die Benutzerfreundlichkeit und Lesbarkeit von Python 3 erheblich verbessert.
Zu den wichtigsten Änderungen in Python 3 gehören die Umwandlung der Druck-Deklaration in eine eingebaute Funktion, eine verbesserte Integer-Division und eine verbesserte Unicode-Unterstützung. Diese Änderungen sind so beschaffen, dass Python 3 nicht mit Python 2 kompatibel ist, d.h. es ist rückwärtskompatibel.
Warum gibt es verschiedene Python-Versionen?
Ein paar Programmierbeispiele sollen die Unterschiede zwischen Python 2 und 3 verdeutlichen!
Die neue Funktion print()
Die print-Anweisung in Python 2 wurde in Python 3 durch die print()-Funktion ersetzt, was bedeutet, dass wir das Objekt, das wir drucken wollen, in Klammern einschließen müssen.
Python 2:
>>> print 'Hello DataCamp'
Hello DataCamp
Python3:
>>> print('Hello Datacamp')
Hello Datacamp
Ganzzahlige Division
In Python 2 war das Ergebnis beim Dividieren ganzer Zahlen immer eine ganze Zahl. In Python3 enthält das Ergebnis immer Nachkommastellen, was die Division ganzer Zahlen intuitiver macht.
Python 2:
>>> 5/2
2
Python 3:
>>> 5/2
2.5
Unicode-Unterstützung
In Python 2 muss jede einzelne Unicode-Zeichenkette mit einem "u"-Präfix versehen werden, da sie standardmäßig ASCII-Zeichen verwendet. Im Gegensatz dazu speichert Python 3 Strings standardmäßig als Unicode, was vielseitiger ist als ASCII-Strings.
Python 2:
>>> print type("Hello DataCamp!") # this is an ASCII string
<type 'str'>
>>> print type(u"Hello DataCamp!") # this is a Unicode string
<type 'unicode'>
Python 3:
>>> print(type("Hello DataCamp!")) # this is a Unicode string
<class 'str'>
Bereich Funktion
Die Funktion xrange() in Python 2 gibt es in Python 3 nicht mehr. Sie wurde durch die Funktion range() ersetzt, die die Leistung beim Iterieren über Sequenzen verbessert hat
Python 2:
>>> xrange(1,10)
xrange(1, 10)
>>> type(xrange(1,10))
<type 'xrange'>
Python 3:
>>> range(1,10)
range(1, 10)
>>> type(range(1,10))
<class 'range'>
In der folgenden Tabelle findest du die wichtigsten Unterschiede zwischen Python 2 und 3.
Python 2 |
Python 3 |
|
Datum der Veröffentlichung |
2000 |
2008 |
Syntax |
Komplexer und schwieriger zu interpretieren |
Lesbar und leicht verständlich |
Leistung |
Langsamere Leistung aufgrund von Konstruktionsfehlern |
Verbesserte Leistung der Laufzeit des Codes im Vergleich zu Python 2 |
Druckfunktion |
print "Willkommen im Datacamp" |
print ("Willkommen im Datacamp") |
Ganzzahlige Division |
Das Ergebnis ist ein ganzzahliger Wert. Nachkommastellen werden immer abgeschnitten |
Das Ergebnis ist immer ein Fließkommawert |
Unicode-Unterstützung |
Verwendet standardmäßig ASCII-Zeichen. Um Unicode-Werte zu speichern, musst du sie mit "u" definieren |
Die Standard-Speicherung von Strings ist Unicode |
Reichweite |
xrange() Funktion, um eine Zahlenreihe zu erstellen |
Die Funktion range() ist beim Iterieren effizienter als xrange() |
Abwärtskompatibilität |
Es ist relativ einfach, Python2 auf Python 3 zu portieren. |
Python 3 ist nicht abwärtskompatibel mit Python 2 |
Bibliotheken |
Viele ältere Bibliotheken für Python 2 sind nicht vorwärtskompatibel |
Die meisten der neuen Bibliotheken für Python 3 können nicht in Python 2 verwendet werden |
Kannst du Python 2 in 3 umwandeln?
Die Evolution ist ein wichtiges Merkmal jeder Programmiersprache. Sprachen entwickeln sich im Laufe der Zeit weiter, um die Leistung zu verbessern und für die Nutzer relevant zu bleiben. Der Wechsel von Python 2 zu 3 war die größte Veränderung in der Geschichte von Python.
Obwohl es für Unternehmen und Entwickler sinnvoll ist, ihre Codebasis auf Python 3 zu migrieren - vor allem nach dem Ende der Unterstützung für Python 2 -, kann die Portierung von Code von einer älteren auf eine neuere Version ein schwieriger und einschüchternder Prozess sein. Das ist in Python besonders akut, da viele Python 2-Bibliotheken nicht vorwärtskompatibel sind.
Zum Glück gibt es einige Ressourcen, die dabei helfen können, Python-2-Code in Python3 zu konvertieren.
- 2to3: Ein Python-Programm, das Python 2.x-Quellcode nimmt und eine Reihe von Fixern anwendet, um ihn in gültigen Python 3.x-Code zu verwandeln.
- Python-Future: Ermöglicht es dir, eine einzige, saubere Python 3.x-kompatible Codebasis zu verwenden, um sowohl Python 2 als auch Python 3 mit minimalem Overhead zu unterstützen.
- Sechs: Eine Bibliothek, die mit Python 2 und 3 kompatibel ist. Es stellt Hilfsfunktionen zur Verfügung, um die Unterschiede zwischen den Python-Versionen auszugleichen. Ziel ist es, Python-Code zu schreiben, der mit beiden Python-Versionen kompatibel ist.
Python 2 vs 3: Was ist am besten?
Während dies vor einigen Jahren noch eine Streitfrage war, gibt es heute keinen Zweifel mehr, dass Python 3 die bessere Wahl ist. Erstens: Python 2 wird seit 2020 nicht mehr unterstützt. Es macht also Sinn, neue Projekte in Python 3.x zu schreiben. Zweitens, da Python 2 nicht mehr unterstützt wird, liegen alle Entwicklungen auf der Python 3 Seite. Die Sprache wurde mit jedem neuen Upgrade ständig verbessert (die neueste Version ist Python 3.10.5, und es gibt bereits eine Beta-Version von Python 3.11 mit wichtigen neuen Funktionen).
Vor diesem Hintergrund ist die massive Verbreitung von Python 3 keine Überraschung. Laut der von JetBrains durchgeführten Python Developers Survey 2021 lag der Anteil der Python-Entwickler/innen, die Python 3 verwenden, im Durchschnitt bei 95%. Außerdem sinkt der Anteil der Python-2-Nutzer jedes Jahr um 5 Prozentpunkte.
Einführung von Python 2 gegenüber Python 3
Quelle: JetBrains
Welche Python-Version soll ich verwenden?
Python 3 ist die beste Version von Python, die es derzeit gibt. Sich dafür zu entscheiden, ist die sicherste Wahl, vor allem für neue Programmierer/innen. Seit der Einstellung des Supports für Python 2 geht die Luft schnell aus, und immer mehr Unternehmen stellen ihren Code auf Python 3 um. Angesichts der wachsenden Nachfrage in vielen Softwarebereichen, der weiten Verbreitung und der riesigen Sammlung von Bibliotheken, die von der Community unterstützt werden, ist es sinnvoll, Python 3 zu lernen.
Es ist jedoch wichtig zu wissen, dass du unter bestimmten Umständen immer noch Python 2 verwenden musst. Erstens haben viele Unternehmen noch alte Codebasen, die in Python 2 geschrieben wurden und nur schwer auf Python 3 portiert werden können. Wenn das bei dem Unternehmen oder Projekt, an dem du arbeitest, der Fall ist, musst du Python 2 lernen. Zweitens gibt es einige Softwarebereiche, wie z.B. DevOps, in denen Python 2 weiterhin erforderlich ist.
Wenn du überlegst, eine neue Karriere in der Datenwissenschaft zu beginnen, ist Python 3 auf jeden Fall die richtige Wahl. Mit DataCamp ist alles für dich vorbereitet. Schau dir unsere Python-Kurse und -Tracks an und beginne deine Datenreise noch heute!
Python Best Practices FAQs
Welche Version von Python ist am beliebtesten?
Python 3 ist der unbestrittene Sieger und wird im Vergleich zu Python 2 massiv angenommen.
Ist Python eine geeignete Sprache für Data Science?
Die beliebtesten Programmiersprachen für Data Science sind Python und R. DataCamp hat einen großen Katalog von Python-Kursen der dir den Einstieg erleichtern wird
Welche Version hat die besseren Laufzeiten?
Ja! in fast allen Tests. Python 3 ist normalerweise schneller als Python 2.
Was ist die neueste Version von Python 2?
Python 2.7. Im Jahr 2020 wurde der Support und die Wartung dieser Version eingestellt.
Warum ein Upgrade auf Python 3?
Python 3 ist eine bessere Sprache und verfügt über bessere Standardbibliotheken als Python 2. Außerdem werden die Sprache und die Standardbibliotheken seit 2020 nur noch in Python 3 verbessert.
Kann ich Python 2 auf Python 3 portieren?
Es gibt einige Ressourcen, die du nutzen kannst, um deinen Code auf Python 3 zu aktualisieren, zum Beispiel 2to3, Python-Future und Six.
Kann ich sowohl Python 2 als auch 3 installieren?
Ja. Du kannst das tun, indem du getrennte virtuelle Umgebungen für Python 2 und 3 unterhältst.
Kurse für Python
Course
Einführung in die Datenwissenschaft in Python
Course