Heim > Artikel > Backend-Entwicklung > Welche Python-Version eignet sich am besten für Neulinge?
Menschen, die Python lernen möchten, werden verwirrt sein, das heißt, Python hat derzeit zwei Versionen, Python2 und Python3. Welche der beiden Versionen sollte ich lernen?
Python3 und Python2 sind inkompatibel und die Unterschiede sind relativ groß. Python3 ist nicht abwärtskompatibel, aber die meisten Komponenten und Erweiterungen basieren auf Python2. Derzeit berücksichtigen die meisten praktischen Anwendungen Python 3 vorerst nicht und achten manchmal darauf, Code zu schreiben, der mit 2/3 kompatibel ist. Wenn Sie neuen Code hauptsächlich mit Python2 schreiben, sollten Sie die Möglichkeit einer zukünftigen Migration auf Python3 in Betracht ziehen. Laut Statistik verwenden derzeit 10 % Python 3; 20 % verwenden sowohl Python 2 als auch Python 3, wobei Python 2 häufiger verwendet wird;
Tatsächlich ist Python eine der am häufigsten verwendeten Software unter Linux, aber die meisten aktuellen Linux-Versionen verwenden immer noch Python2. Darüber hinaus gibt es unter Linux mehr Programme, die auf Python2 basieren, daher sollte Python3 ersetzt werden Python2 zu entwickeln und zum Mainstream zu machen, wird noch ein paar Jahre dauern. Wenn Sie immer noch Python 2 lernen, um einen Job zu finden, ist es nicht schwierig, nach dem Erlernen von Python 2 von Python 2 zu Python3 zu wechseln.
Was ist nach langem Gespräch der Unterschied zwischen Python2 und Python3?
1. Leistung
Py3.0 führt den Pystone-Benchmark 30 % langsamer aus als Py2.5. Guido glaubt, dass Py3.0 großen Optimierungsspielraum bietet und gute Optimierungsergebnisse bei String- und Integer-Operationen erzielen kann.
Die Leistung von Py3.1 ist 15 % langsamer als die von Py2.5, und es gibt noch viel Raum für Verbesserungen.
2. Codierung
Verwenden Sie !=
2) Entfernen Sie „`“ und verwenden Sie repr()
3) Fügen Sie as und with-Schlüsselwörter hinzu, sowie True, False, None
4) Ganzzahldivision gibt eine Gleitkommazahl zurück, verwenden Sie bitte //
5) Fügen Sie eine nichtlokale Anweisung hinzu. Mit noclocal x können Sie periphere (nicht globale) Variablen direkt zuweisen
6) Entfernen Sie die print-Anweisung und fügen Sie die print()-Funktion hinzu, um dieselbe Funktion zu erreichen. Das Gleiche gilt für die exec-Anweisung, die in die Funktion exec() geändert wurde
7) Das Verhalten des sequentiellen Operators, wie z. B. x 8) Die Eingabefunktion wurde geändert, raw_input wurde gelöscht und durch Eingabe ersetzt: 9) Das Entpacken der Tupelparameter wurde durchgeführt ENTFERNT. Sie können die Funktion nicht wie def(a, (b, c)):pass definieren 10) Neue oktale Wortvariable, die Funktion oct() wird entsprechend geändert. 11) Binäre Literale und bin()-Funktion hinzugefügt 12) Erweitertes iterierbares Entpacken. In Py3. 13) Neues super(), Sie können keine Parameter mehr an super() übergeben, 14) Neue Metaklassensyntax: 15) Unterstützt Klassendekorateur. 4. Strings und Byte-Strings 1) Jetzt gibt es nur noch einen String-Typ, str, aber er ist fast derselbe wie die 2.x-Version von Unicode. 2) Informationen zu Byte-Strings finden Sie im 2. Punkt von „Datentyp“ 5 Datentyp 1) Py3.X hat den langen Typ entfernt. Jetzt gibt es nur einen Ganzzahltyp – int, aber er verhält sich wie long in Version 2. 1) Einführung abstrakter Basisklassen (Abstract Base Classes, ABCs). 2) Containerklassen und Iteratorklassen sind ABCs, daher gibt es im Cellections-Modul viel mehr Typen als in Py2.5. 3) Die next()-Methode des Iterators wurde in __next__() umbenannt und die integrierte Funktion next() wurde hinzugefügt, um den Iterator aufzurufen 4) @abstractmethod und @ waren Die hinzugefügte abstrakte Eigenschaft verfügt über zwei Dekoratoren, was das Schreiben abstrakter Methoden (Eigenschaften) erleichtert. 7. Ausnahmen 1) Alle Ausnahmen werden von BaseException und StardardError geerbt 2) Das Sequenzverhalten und das .message-Attribut der Ausnahmeklasse werden entfernt 3) Verwenden Sie raise Exception(args) anstelle von raise Exception, args-Syntax 4) Syntaxänderungen zum Abfangen von Ausnahmen, das Schlüsselwort as wird eingeführt, um Ausnahmeinstanzen zu identifizieren 5) Exception Kette, da __context__ in Version 3.0a1 nicht implementiert ist 8 Moduländerungen 6) Die Die Funktionen os.tmpnam() und os.tmpfile() wurden in das tmpfile-Modul verschoben 7) Das tokenize-Modul funktioniert jetzt mit Bytes. Der Haupteinstiegspunkt ist nicht mehr generic_tokens, sondern tokenize.tokenize() 9 Andere 4) string.letters und zugehörige .lowercase und .uppercase werden entfernt, bitte verwenden Sie stattdessen string.ascii_letters usw. 5) Wenn x < y nicht verglichen werden kann, wird eine TypeError-Ausnahme ausgelöst 6) Mitglieder der __getslice__-Serie werden verlassen. 7) Die Dateiklasse wird aufgegeben Das obige ist der detaillierte Inhalt vonWelche Python-Version eignet sich am besten für Neulinge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
5) neues Modul entfernt