Einführung in Python
Entwicklungsgeschichte
Python 2 oder 3?
Der Gründer von Python ist Guido van Rossum. Um sich in Amsterdam die Zeit totzuschlagen, beschloss Guido van Rossum in der Weihnachtszeit 1989, einen neuen Skriptinterpreter als Nachfolger der ABC-Sprache zu entwickeln.
In der neuesten TIOBE-Rangliste hat Python PHP überholt und belegt den fünften Platz. Python steht für Eleganz, Klarheit und Einfachheit und ist eine ausgezeichnete und weit verbreitete Sprache.
Python kann in vielen Bereichen eingesetzt werden, wie zum Beispiel: Datenanalyse, Komponentenintegration, Netzwerkdienste, Bildverarbeitung, numerisches Rechnen, wissenschaftliches Rechnen und viele andere Bereiche. Derzeit verwenden fast alle großen und mittleren Internetunternehmen der Branche Python, wie zum Beispiel: Youtube, Dropbox, BT, Quora (China Zhihu), Douban, Zhihu, Google, Yahoo!, Facebook, NASA, Baidu, Tencent , Autohome, Meituan usw. Zu den Aufgaben, für die Internetunternehmen Python häufig verwenden, gehören im Allgemeinen: automatisierter Betrieb und Wartung, automatisierte Tests, Big-Data-Analyse, Crawler, Web usw.
Derzeit die Hauptanwendungsgebiete von Python:
Cloud Computing: die beliebteste Sprache für Cloud Computing, typische Anwendung OpenStack
WEB-Entwicklung: Viele hervorragende WEB-Frameworks und viele große Websites werden in Python entwickelt, darunter Youtube, Dropbox und Douban. . . , Typische WEB-Frameworks umfassen Django
Wissenschaftliche Operationen, künstliche Intelligenz: typische Bibliotheken NumPy, SciPy, Matplotlib, Enthought-Bibliotheken, Pandas
Systembetrieb Wei: Eine der wesentlichen Sprachen für Betriebs- und Wartungspersonal
Finanzen: Quantitativer Handel, Finanzanalyse, Python wird nicht nur verwendet, sondern auch verwendet am meisten, und seine Bedeutung nimmt von Jahr zu Jahr zu. Grund: Als dynamische Sprache verfügt Python über eine klare und einfache Sprachstruktur, umfangreiche Bibliotheken, ausgereifte und stabile, effiziente wissenschaftliche Berechnungen und statistische Analysen, und seine Produktionseffizienz ist viel höher als die von C, C++ und Java gut im Strategie-Backtesting
Grafische GUI: PyQT, WxPython, TkInter
Vergleich von Python und anderen gängigen Sprachen
C und Python, Java, C# usw.
C-Sprache: Der Code wird kompiliert, um Maschinencode zu erhalten, der direkt auf dem Prozessor ausgeführt wird. Jede Anweisung steuert die CPU-Arbeit
Andere Sprachen: Der Code wird kompiliert, um Bytecode zu erhalten, virtuell. Die Maschine führt den Bytecode aus, wandelt ihn in Maschinencode um und führt ihn dann auf dem Prozessor aus
Python und C Python ist eine aus C
Zur Verwendung: Python verfügt über eine vollständige Klassenbibliothek und ist einfach zu verwenden. Wenn Sie dieselbe Funktion erreichen möchten, kann Python sie mit 10 Codezeilen lösen, während C möglicherweise 100 Zeilen oder mehr erfordert 🎜> In Bezug auf die Geschwindigkeit: Hochsprachen können in Bezug auf die Laufgeschwindigkeit nicht mit C verglichen werden
Python und Java, C# usw.
Zur Verwendung: Linux-Original-Python, andere Sprachen habe es nicht; die oben genannten Sprachen verfügen über eine sehr umfangreiche Klassenbibliotheksunterstützung
Was die Geschwindigkeit angeht: Python ist möglicherweise etwas langsamer
Es gibt also keinen wesentlichen Unterschied zwischen Python und anderen Sprachen Weitere Unterschiede bestehen darin, dass man in einem bestimmten Bereich gut ist, über reiche Talente verfügt und vorgefasste Meinungen hat.
Python ist eine dynamisch interpretierte, stark typisierte Definitionssprache
Vorteile:
Langsame Geschwindigkeit. Da Python eine interpretierte Sprache ist, wird Ihr Code während der Ausführung Zeile für Zeile übersetzt . Dieser Übersetzungsprozess ist sehr zeitaufwändig und daher sehr langsam. Das C-Programm wird direkt in Maschinencode kompiliert, den die CPU vor der Ausführung ausführen kann, sodass es sehr schnell ist. Tatsächlich ist die hier angesprochene langsame Laufgeschwindigkeit jedoch in den meisten Fällen für den Anwender nicht direkt wahrnehmbar und muss mit Hilfe von Testtools abgebildet werden.
Der Code kann nicht verschlüsselt werden, da PYTHON eine interpretierte Sprache ist und der Quellcode in Textform gespeichert ist. Ich denke jedoch nicht, dass dies ein Nachteil ist, wenn Ihr Projekt eine Quelle erfordert code Der Code muss verschlüsselt sein, dann sollten Sie ihn gar nicht erst mit Python implementieren.
Threads können das Problem mehrerer CPUs nicht ausnutzen. Dies ist einer der am meisten kritisierten Mängel von GIL, der von verwendet wird Interpreter für Computerprogrammiersprachen. Ein Tool zum Synchronisieren von Threads, sodass jeweils nur ein Thread ausgeführt wird. Python-Threads sind native Threads des Betriebssystems. Es handelt sich um einen Pthread unter Linux und einen Win-Thread unter Windows. Die Ausführung des Threads wird vollständig vom Betriebssystem geplant. Ein Python-Interpreterprozess verfügt über einen Hauptthread und mehrere Threads zur Ausführung von Benutzerprogrammen. Selbst auf Multi-Core-CPU-Plattformen ist die parallele Ausführung von Multi-Threads aufgrund der Existenz von GIL verboten. Was die Kompromisslösung für dieses Problem betrifft, werden wir später in den Thread- und Prozesskapiteln ausführlich darauf eingehen.
Wenn wir Python-Code schreiben, erhalten wir einen Python-Code, der eine Textdatei enthält mit einer .py-Erweiterung. Um den Code auszuführen, benötigen Sie den Python-Interpreter, um die .py-Datei auszuführen.
Da die gesamte Python-Sprache von der Spezifikation bis zum Interpreter Open Source ist, kann theoretisch jeder einen Python-Interpreter schreiben, um Python-Code auszuführen, solange das Niveau hoch genug ist (natürlich ist das sehr schwierig). Tatsächlich gibt es mehrere Python-Interpreter.
Wenn wir Python 2.7 von der offiziellen Python-Website herunterladen und installieren, erhalten wir direkt eine offizielle Version des Interpreters: CPython. Dieser Interpreter wurde in der Sprache C entwickelt und heißt daher CPython. Wenn Sie Python über die Befehlszeile ausführen, wird der CPython-Interpreter gestartet.
CPython ist der am weitesten verbreitete Python-Interpreter. Der gesamte Code im Tutorial wird auch unter CPython ausgeführt.
IPython ist ein interaktiver Interpreter, der auf CPython basiert. Das heißt, IPython ist nur im interaktiven Modus erweitert, aber die Funktion zum Ausführen von Python-Code ist völlig dieselbe wie die von CPython. Obwohl beispielsweise viele inländische Browser unterschiedlich aussehen, rufen ihre Kerne tatsächlich den IE auf.
CPython verwendet >>> als Eingabeaufforderung, während IPython In [Seriennummer]: als Eingabeaufforderung verwendet.
PyPy ist ein weiterer Python-Interpreter, der auf die Ausführungsgeschwindigkeit abzielt. PyPy verwendet JIT-Technologie, um Python-Code dynamisch zu kompilieren, sodass die Ausführungsgeschwindigkeit von Python-Code erheblich verbessert werden kann.
Die meisten Python-Codes können unter PyPy ausgeführt werden, es gibt jedoch einige Unterschiede zwischen PyPy und CPython, die zu unterschiedlichen Ergebnissen führen, wenn derselbe Python-Code unter den beiden Interpretern ausgeführt wird. Wenn Ihr Code unter PyPy ausgeführt werden soll, müssen Sie die Unterschiede zwischen PyPy und CPython verstehen.
Jython ist ein Python-Interpreter, der auf der Java-Plattform läuft. Er kann Python-Code zur Ausführung direkt in Java-Bytecode kompilieren.
IronPython ähnelt Jython, mit der Ausnahme, dass IronPython ein Python-Interpreter ist, der auf der Microsoft .Net-Plattform läuft und Python-Code direkt in .Net-Bytecode kompilieren kann.
Es gibt viele Interpreter für Python, aber der am weitesten verbreitete ist CPython. Wenn Sie mit der Java- oder .Net-Plattform interagieren möchten, ist es am besten, nicht Jython oder IronPython zu verwenden, sondern über Netzwerkaufrufe zu interagieren, um die Unabhängigkeit zwischen den Programmen sicherzustellen.
Um die Weihnachtsferien zu überbrücken, begann Guido 1989 zu schreiben Python-Sprachcompiler. Der Name Python stammt von Guidos beliebter Fernsehserie Monty Python’s Flying Circus. Er hofft, dass diese neue Sprache namens Python sein Ideal erfüllen kann: eine Sprache zwischen C und Shell zu schaffen, die umfassend, leicht zu erlernen, einfach zu verwenden und skalierbar ist.
1991 wurde der erste Python-Compiler geboren. Es ist in der Sprache C implementiert und kann Bibliotheksdateien der Sprache C aufrufen. Seit seiner Geburt verfügt Python über: Klassen, Funktionen, Ausnahmebehandlung, Kerndatentypen einschließlich Tabellen und Wörterbücher sowie ein modulbasiertes Erweiterungssystem.
Der Urvater der Python-Webframeworks, Zope 1 wurde 1999 veröffentlicht
Python 1.0 – Januar 1994 fügte Lambda, Map, Filter und Reduce hinzu.
Python 2.0 – 16. Oktober 2000, fügte einen Speicherrecyclingmechanismus hinzu und bildete die Grundlage des aktuellen Python-Sprach-Frameworks
Python 2.4 – 30. November 2004, im selben Jahr wurde das beliebteste WEB-Framework Django geboren
Python 2.5 – 19. September 2006
Python 2.6 – 1. Oktober 2008
Python 2.7 – 3. Juli 2010
Im November 2014 wurde bekannt gegeben, dass Python 2.7 bis 2020 unterstützt wird, und dies wurde erneut bestätigt keine 2.8-Version, da von Benutzern erwartet wurde, dass sie so schnell wie möglich auf Python 3.4+ umsteigen
Python 3.0 – 3. Dezember 2008
Python 3.1 - 27. Juni 2009
Python 3.2 - 20. Februar 2011
Python 3.3 - 29. September 2012
Python 3.4 – 16. März 2014
Python 3.5 – 13. September 2015
Zusammenfassend: Python 2.x ist ein Vermächtnis, Python 3.x ist die Gegenwart und Zukunft der Sprache
Python 3.0 wurde 2008 veröffentlicht. Die letzten 2 Die .x-Version 2.7 erschien Mitte 2010 mit der Erklärung
erweiterter Unterstützung für diese End-of-Life-Version. Im 2.x-Zweig wird es danach keine neuen Hauptversionen mehr geben. 3.x befindet sich
in aktiver Entwicklung und wurde bereits über fünf Jahre lang stabil veröffentlicht, darunter Version 3.3 im Jahr 2012,
3.4 im Jahr 2014 und 3.5 im Jahr 2015. Dies bedeutet, dass alle aktuell sind Verbesserungen der Standardbibliothek sind beispielsweise nur
standardmäßig in Python 3.x verfügbar.
Guido van Rossum (der ursprüngliche Schöpfer der Python-Sprache). ) hat beschlossen, Python 2.x gründlich zu bereinigen und dabei weniger Rücksicht auf die Abwärtskompatibilität zu nehmen, als dies bei neuen Versionen im 2.x-Bereich der Fall ist. Die drastischste Verbesserung ist die bessere Unicode-Unterstützung (wobei alle Textzeichenfolgen standardmäßig Unicode sind) sowie eine vernünftigere Byte-/Unicode-Trennung.
Außerdem sind mehrere Aspekte der Kernsprache (z. B. print und exec Anweisungen). , ganze Zahlen mit Bodenpision) wurden angepasst, um für Neulinge einfacher zu erlernen und konsistenter mit dem Rest der Sprache zu sein, und alte Unklarheiten wurden entfernt (z. B. sind jetzt alle Klassen im neuen Stil, „range()“ " gibt eine speichereffiziente Iterable zurück, keine Liste wie in 2.x).
DRUCKEN IST EINE FUNKTION
Die Anweisung wurde durch eine print()-Funktion mit Schlüsselwortargumenten für ersetzt Ersetzen Sie den Großteil der speziellen Syntax der alten Anweisung (PEP 3105). Beispiele:
Old: print "The answer is", 2*2 New: print("The answer is", 2*2) Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline Old: print # Prints a newline New: print() # You must call the function! Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr) Old: print (x, y) # prints repr((x, y)) New: print((x, y)) # Not the same as print(x, y)!
Sie können auch das Trennzeichen zwischen Elementen anpassen, z. B.:
print("There are <", 2**32, "> possibilities!", sep=""
ALLE IST JETZT UNICODE >
某些库改名了
<strong>>>> a,*rest,b = range(5) >>> a,rest,b (0, [1, 2, 3], 4) </strong> Nach dem Login kopieren
|
|
||||||||||||||||||
_winreg |
winreg | ||||||||||||||||||
|
configparser |
||||||||||||||||||
|
copyreg | ||||||||||||||||||
Warteschlange | Warteschlange | ||||||||||||||||||
SocketServer | Socketserver | ||||||||||||||||||
markupbase | _markupbase | ||||||||||||||||||
repr | reprlib | ||||||||||||||||||
test.test_support | test.support |