Da es ein Python 3.x gibt, warum verwenden wir es nicht?
Warum verwenden wir immer noch 2.x?
Was ist der Unterschied?Python 2.x oder 3.x
Antwort
Python 2.6 und 2.7 wurden geschrieben, um den Übergang zu Python 3 zu vereinfachen. Es wird etwas mehr Zeit benötigen, um komplexere Pakete (d. H. Solche mit vielen Abhängigkeiten oder in C geschriebenen Bibliotheken) zu portieren.
Wenn Sie also neue Projekte starten und alle benötigten Bibliotheken vorhanden sind, ist es sinnvoll, mit 3.1 zu beginnen. Eine der willkommeneren Änderungen ist die standardmäßige Behandlung von Unicode-Zeichenfolgen - es werden viele Bugs verhindert.
Aber wenn Sie eine komplette ERP-Anwendung, oder etwas Großes, von 2.6 zu 3.x portieren sollten, könnte es jetzt ein Blutbad sein. Die Unicode-Änderungen zum Beispiel sind am schwersten von 2.x -> 3.x anzuwenden, und auch die Low-Level-C-APIs haben sich stark verändert.
Da 3.x nicht abwärtskompatibel zu 2.x ist und viele Apps und Bibliotheken für die 2.x-Serie geschrieben wurden. 3.x war ihr Versuch, all das zu beseitigen, was in Python überhaupt nicht hätte sein dürfen ... und sie mussten einige einschneidende Änderungen vornehmen. Wahrscheinlich am besten, um mit 2.x für jetzt zu bleiben, bis 3.x gewinnt ein bisschen mehr Popularität.
Da viele Bibliotheken sind noch nicht portiert Ich denke, ... auf 3.x Und weil viele Anwendung laufen noch auf 2.x
Wenn Sie eine neue App schreiben, und verlassen Sie sich nicht Für Bibliotheken, die noch keine 3.x-Unterstützung haben, schlage ich vor, dass Sie für 3.x gehen. Lassen Sie uns einige kritische Masse schaffen :)
Werfen Sie einen Blick auf die python 3 documentation selbst
Die größten Unterschiede in der documentation of Python aufgeführt sind.
Hth. :)
- 1. Schreiben eines Moduls für Python 2.x und 3.x
- 2. Python 2.x Unterlist Parameter entspricht in 3.x
- 3. Python 3.x BaseHTTPServer oder http.server
- 4. python 3.x readlines()
- 5. Node.js - Benötige ich wirklich Visual Studio? Und Python 2.X oder 3.X?
- 6. Tornado und Python 3.x
- 7. Wie analysiert man Python 2.x mit Python 3.x Ast Modul?
- 8. Hibernate 2.1.6 oder 3.x?
- 9. Schleifen, Liste, Python 3.x
- 10. Grafik in Python 3.x
- 11. Kann Turtle-Modul in Python 2.x und Python 3.x nicht importieren
- 12. Wie pip mit Python 3.x neben Python 2.x verwenden
- 13. Wie aktualisiert man eine ältere C-Erweiterung für Python 2.x zu Python 3.x
- 14. Jekyll-Abhängigkeitsfehler beim Aktualisieren von 2.x auf 3.x
- 15. CakePHP 2.x Plugin funktioniert nicht in CakePHP 3.x
- 16. BASH "echo-n Wert" in Python 2.6/2.x oder Python 3.x innerhalb einer Schleife - einzelne Zeile ohne Leerzeichen
- 17. Unterschiede zwischen den Eingabebefehlen in Python 2.x und 3.x
- 18. Wie man Python-Module für PyPI organisiert, um 2.x und 3.x zu unterstützen
- 19. Funktion mit args und Standard kwargs für Python 2.x und 3.x
- 20. Wie testen Ausnahmen mit Doctest in Python 2.x und 3.x?
- 21. OpenCV für Python 3.x unter Windows
- 22. Python 3.x - Bokeh - Radiobutton Rückruf
- 23. Wie "erholen" ein 3-dimensionales (2 x 2 x 2) Array (ein Würfel) von 3 zweidimensionalen Matrizen (die Würfelflächen)
- 24. Etwas wie __pycache__ für Python 2.x?
- 25. Starten Sie Firefox mit Python 3.x
- 26. Python 3.x - Pandas Datenrahmen verschmelzen
- 27. Python 3.x mehrzeiliger Kommentar wirft Syntaxfehler
- 28. Was ist neu in Python 3.x?
- 29. Globale Migration nach Python 3.x verfolgen
- 30. Python 3.x "Return" Statement Fehler
Ja, ich denke, die Hauptsache, die eine Menge Leute zurückhält, ist das Fehlen von Python 3-Versionen vieler populärer Bibliotheken. –