Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Lernen [Teil 1] Einführung in Python

Python-Lernen [Teil 1] Einführung in Python

高洛峰
高洛峰Original
2017-02-13 17:18:301378Durchsuche
  1. Einführung in Python

  2. Entwicklungsgeschichte

  3. Python 2 oder 3?

1. Einführung in Python

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:

    Python-Positionierung ist „elegant“, „klar“ und „einfach“, sodass Python-Programme immer einfach und leicht verständlich aussehen. Anfänger, die Python lernen, sind nicht nur leicht zu erlernen, sondern können auch sehr, sehr komplexe Programme schreiben, wenn sie tiefer in die Materie einsteigen die Zukunft.
  1. Die Entwicklungseffizienz ist sehr hoch. Wenn Sie eine Funktion über den Computer realisieren möchten, verfügt Python grundsätzlich über entsprechende Module Unterstützen Sie es direkt. Nach dem Aufruf erfolgt die Entwicklung auf Basis der Basisbibliothek, was den Entwicklungszyklus erheblich verkürzt und eine Neuerfindung des Rades vermeidet.
  2. Hochsprache – Wenn Sie ein Programm in Python schreiben, müssen Sie nicht über Details auf niedriger Ebene nachdenken, z. B. wie Sie den von Ihrem Programm verwendeten Speicher verwalten
  3. Portabilität – Aufgrund seiner Open-Source-Natur wurde Python auf viele Plattformen portiert (mit Modifikationen, damit es auf verschiedenen Plattformen funktionieren kann). Wenn Sie die Verwendung systemabhängiger Funktionen sorgfältig vermeiden, können alle Ihre Python-Programme ohne Änderungen auf fast jeder Systemplattform auf dem Markt ausgeführt werden Wenn Sie einen Teil Ihres Codes schneller ausführen möchten oder möchten, dass bestimmte Algorithmen privat bleiben, können Sie Teile Ihres Programms in C oder C++ schreiben und sie in Ihrem Python-Programm verwenden.
  4. Einbettbarkeit – Sie können Python in Ihr C/C++-Programm einbetten, um Ihren Programmbenutzern Skriptfunktionen bereitzustellen.
  5. Nachteile:
    1. 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.

    2. 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.

    3. 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.

    Python-Typen

    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.

    CPython

    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

    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

    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

    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

    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.

    Zusammenfassung

    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.

    2. Geschichte der Python-Entwicklung

    • 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

     

    三、Python 2 oder 3?

    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). 

     

    py2与3的详细区别

    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>


    Alter Name



    Old Name



    New Name



    _winreg



    winreg



    ConfigParser



    configparser



    copy_reg



    copyreg



    Queue



    queue



    SocketServer



    socketserver



    markupbase



    _markupbase



    repr



    reprlib



    test.test_support



    test.support


    Neuer Name

    _winreg

    winreg


    ConfigParser



    configparser


    copy_reg

    copyreg

    Warteschlange
    Warteschlange
    SocketServer Socketserver
    markupbase _markupbase
    repr reprlib
    test.test_support test.support
                    还有谁不支持PYTHON3?Ein beliebtes Modul, das Python 3 noch nicht unterstützt, ist Twisted (für Netzwerk- und andere Anwendungen). In den meistenaktiv gepflegten Bibliotheken arbeiten Leute an der 3.x-Unterstützung. Für einige Bibliotheken hat es eine höhere Priorität alsandere: Twisted beispielsweise konzentriert sich hauptsächlich auf Produktionsserver, wo die Unterstützung älterer Versionen vonPython wichtig ist, geschweige denn die Unterstützung einer neuen Version, die wesentliche Änderungen an der Sprache enthält. (Twisted istein Paradebeispiel für ein großes Paket, bei dem die Portierung auf 3.x alles andere als trivial ist.) !
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Python-String-OperationenNächster Artikel:Python-String-Operationen