Ich bin extrem neu zu Python, mit dem Lernen vor weniger als einem Monat, aber mit einigen anderen Programmiersprachen (in erster Linie C# und SQL). Aber jetzt, wo Python 3.0 veröffentlicht wurde und nicht abwärtskompatibel ist, was wären die Vor- und Nachteile der Entscheidung, sich auf Python 3.0 oder Python 2.6 zu konzentrieren?Python-Version für einen Neuling
Antwort
Ich würde sagen beginnen mit 2.6, da die große, überwiegende Mehrheit der Dokumentation in Bezug auf Python auf 2.6 sowie die meisten Open-Source-Projekte, die Sie beitragen möchten, in 2.6 für eine Weile sein wird. Sobald Sie in 2.6 eine gute Grundlage haben, können Sie 3.0 lernen. Auf diese Weise können Sie schätzen, wie sich die Sprache entwickelt hat und woher die "Ästhetik" des Codes stammt.
Danke. Das war sehr hilfreich. Ich habe vorerst mit Python 2.5 begonnen, hauptsächlich weil SciPy noch nicht vollständig auf 2.6 oder 3.0 portiert wurde und ich fand, dass ich scipy und Numpy für einige der Dinge brauche, die ich versuche zu machen. – TimothyAWiseman
Da sie Inkompatibilitäten haben, schlage ich vor, dass Sie für Python 3.0 gehen, die in der Zukunft sowieso nützlicher ist. Es ist eine bessere Sprache. Sie können die genauen Unterschiede in What's new page auf ihrer Website sehen.
Gehen Sie mit 2.6, da das ist, was die meisten Bibliotheken (pygame, wxpython, django usw.) Ziel.
Die Unterschiede in 3.0 sind nicht so groß, so dass ein späterer Übergang kein großes Problem sein sollte.
Seien Sie vorsichtig, obwohl. Bibliotheken wie der mysql-Treiber sind immer noch in 2.5.
Beginnen Sie mit 2.6, und wenn Sie ein bisschen mehr mit der Sprache (einige tausend Zeilen Code geschrieben) vertraut werden, wird der Übergang zu 3.0 einfach und natürlich. Beim Lernen schlage ich vor, dass Sie klassische Klassen ignorieren und Iteratoren, Generatoren und Listenverstehen besondere Aufmerksamkeit schenken.
Es hängt davon ab, was Sie bereit sind zu tun.
Python 3.0 ist die neuere Version und sollte mit der Zeit zum Standard werden. Es stehen jedoch fast keine Bibliotheken oder Frameworks zur Verfügung und auch die Tools sind nicht so aktuell (z. B. befindet sich das Eclipse-Plug-in für Python noch in der Migrationsphase).
Auf der anderen Seite gibt es keine großen Unterschiede, und sobald Sie einen lernen, ist der Wechsel zum anderen ganz einfach.
Also, wenn Sie planen, nur herum zu spielen, können Sie mit 3.0 gehen. Wenn Sie es in einem neuen Projekt verwenden möchten, würde ich eine ältere Version beibehalten.
Wenn Sie es aus einer Perspektive betrachten, würde ich definitiv mindestens 2.x lernen. Der Code, an dem ich arbeite, zielt immer noch auf Python 2.4 ab und meines Wissens gibt es keine Pläne, in naher Zukunft sogar auf 2.6 oder gar 3.0 zu wechseln. Es wird eine Tonne von 2.x Python-Code geben, der für die kommenden Jahre schwebt und die große Mehrheit der Python-Jobs wird die Arbeit mit diesem Code beinhalten.
Also würde ich durch das Lernen Python 2.6 starten, während die ganze Zeit auf 3,0 im Auge zu behalten, so dass Sie zumindest wissen, welche Bits Ihrer 2.x Code nicht 3.0
- 1. WEKA Tutorials/Beispiele für einen Neuling
- 2. Benötigen Sie Primer für einen Msbuild Neuling
- 3. Learning-Versionskontrolle für einen College-Neuling
- 4. Facebook connect/eid für einen Neuling
- 5. Wie man MarkerClusterer - Schritt-für-Schritt für einen Neuling verwendet
- 6. Tipps für einen Neuling zu N-Tier-Anwendungen
- 7. Vorgeschlagene Ressourcen für Neuling ARM Programmierer?
- 8. DXGetErrorString Neuling Frage
- 9. Raumbuchungssystem Neuling Logik Schienen
- 10. DHTML Neuling Frage
- 11. Neuling Vererbung Frage
- 12. Multitexturing Problem (Neuling)
- 13. Python-Neuling mit Klassenproblemen
- 14. Google Sheets Neuling Abfrage
- 15. Asynchrone Anrufe Neuling Frage
- 16. Neuling Validate XML XSD
- 17. jboss Anwendungsserver Neuling Frage
- 18. Neuling mit adrett und C#
- 19. Neuling zu clojure, versuchen, einen Ausdruck zu verstehen
- 20. Laravel Api (Neuling braucht Hilfe)
- 21. Rspec Neuling: Schnelles Beispiel für den Test von verschachtelten Controller?
- 22. Zend Framework 2 für ein Zend Framework Neuling
- 23. Neuling: Was macht jQuery.ajaxSetup 'beforeSend'?
- 24. SIMD/SSE Neuling: einfache Bildfilterung
- 25. Pyparsing Neuling setParseAction modifizierende Tokens
- 26. Html Neuling! background-image question
- 27. Python-Neuling - PIP/ungültiger Syntaxfehler
- 28. C++: Eigene Bibliothek Neuling Sort
- 29. Segmentierungsfehler Hilfe für verknüpfte Liste Neuling in C
- 30. Neuling Debuggen eines Python-Codes
Fast in Arbeit ein dupe http://stackoverflow.com/questions/209888/tutorial-for-python-should-i-use-2x-or-30 –
@ S.Loot warum "fast"? – cregox