Einführung und Entwicklungsgeschichte von Python

Python, ausgesprochen ['paɪθɑn], wird ins Chinesische als Python übersetzt, und das Python-Logo sieht auch aus wie zwei ineinander verschlungene Pythons. Allerdings haben die Python-Sprache und Pythons eigentlich nichts miteinander zu tun.

Der Slogan von Python lautet: „Das Leben ist kurz, ich benutze Python!“. Dieser Slogan ist in der Python-Branche weit verbreitet und fast zu einem Werbeslogan geworden.

Die Python-Sprache wurde vom niederländischen Programmierer Guido van Rossum, der in der Welt als „Onkel Schildkröte“ bekannt ist, unabhängig entwickelt und in der ersten Version fertiggestellt. „Onkel Turtle“ arbeitete einst für Google und arbeitet derzeit für Dropbox. Während der Weihnachtszeit 1989 in Amsterdam beschloss er, um die Weihnachtslangweile zu vertreiben, eine neue Schriftinterpretationssprache als Erbe der ABC-Sprache zu entwickeln. Dann tat er es und erkannte es (die Fähigkeit eines großen Gottes). . Der Grund, warum er Python als Namen für die Programmiersprache wählte, war, dass er ein Fan einer Comedy-Gruppe namens Monty Python war. Seine ursprüngliche Absicht war es nicht, Python zu wählen.

Die erste öffentliche Veröffentlichung von Python wurde 1991 veröffentlicht, daher gilt dieses Jahr als das Geburtsjahr von Python.

Der Python-Quellcode folgt der GPL-Vereinbarung (GNU General Public License), einer Open-Source-Vereinbarung, was bedeutet, dass Sie ihn kostenlos verwenden und verbreiten können, ohne sich über Urheberrechtsprobleme Gedanken machen zu müssen.

Python wird derzeit von einem Kernentwicklungsteam gepflegt. Onkel Gui bekleidet die Position des Obersten Kaisers und spielt immer noch eine wichtige Rolle bei der Steuerung seines Fortschritts.

1. Entwicklungstrend von Python

Bitte fügen Sie eine Bildbeschreibung hinzu

Aus dem Bild oben können wir ersehen, dass Python in den letzten drei Jahren eine explosionsartige Entwicklung erlebt hat. Das Bild unten zeigt das weltweite TIOBE-Ranking zur Beliebtheit von Programmiersprachen im Juli 2017. Daraus können wir ersehen, dass Python C# verdrängt hat und sich fest auf dem vierten Platz befindet. Es ist der wohlverdiente Spitzenreiter unter den interpretierten Sprachen.
Bitte fügen Sie eine Bildbeschreibung hinzu

Wir haben bereits erwähnt, dass Python im Jahr 1991 geboren wurde, was bedeutet, dass es 26 Jahre alt ist, also vier Jahre früher als die JAVA-Sprache im Jahr 1995. Warum ist es ein Spätzünder und beginnt erst jetzt zu funktionieren?

Erstens war die Computerleistung in den 1990er Jahren viel schlechter als heute. Geschwindigkeit und Effizienz der Programmausführung waren sehr wichtig. Schnelle Entwicklung stand nicht an erster Stelle, wohl aber die Maschinenleistung. Als interpretierte dynamische Sprache ist Python in seiner Interpretationsmethode von Natur aus langsam und wurde daher von der damaligen Programmiergemeinschaft nicht bevorzugt. Seine Kernkonzepte, nämlich das Streben nach Entwicklungsgeschwindigkeit, die Betonung von Einfachheit und Eleganz sowie die Senkung der Programmierschwelle, lagen etwas voraus seiner Zeit. Mainstream. Heutzutage wurde die Leistung der Computerhardware um Größenordnungen verbessert. Die Rechenleistung ist nicht mehr der wichtigste Faktor, der Programmiersprachen einschränkt. Agile Entwicklung ist zu einem wichtigen Faktor bei der Sprachauswahl in Produktionsumgebungen geworden. Python erfüllt dies sehr gut. , was zu schnellen Ergebnissen führt Entwicklung.

Zweitens wurde Python nicht gut geboren. Im Gegensatz dazu stammt JAVA aus einer bekannten Familie. Sein Eigentümer ist SUN. Zu dieser Zeit war das Unternehmen Nummer eins im Internet ähnlich dem aktuellen Status von Google. Daher wurde es energisch gefördert und verfügte über eine Gruppe fähiger, engagierter, und organisierte Teams, um sie zu entwickeln und zu warten, sodass sie schnell an Popularität gewann. Sie war erfolgreich, wurde populär und nimmt immer noch die Spitzenposition unter den Programmiersprachen ein. Python wurde von einer Einzelperson geschrieben. Er stammte aus einer armen Familie. Onkel Gui hatte nicht viele Fähigkeiten und seine persönliche Zeit und Energie waren begrenzt. Obwohl es einige Freiwillige gab, die bei einigen Dingen halfen, gab es daran keinen Zweifel Im Vergleich zur regulären JAVA-Armee war die Energie immer noch viel geringer. All dies führte zu einer langsamen Entwicklung von Python in der Anfangsphase, und selbst jetzt hat es sein kritisiertes GIL-Problem nicht gelöst.

2. Merkmale der Python-Sprache

1. Einfach und leicht zu erlernen, klar und elegant, schnelle Entwicklungsgeschwindigkeit

**Einfach und leicht zu erlernen:** Im Vergleich zu C und Java sind die Lernkosten und die Schwierigkeitskurve von Python nicht niedriger, und es eignet sich besser für den Einstieg von Anfängern und den technischen Kletterweg von unten nach oben. Setzen Sie sich das kleine Ziel, zuerst einen kleinen Berg zu besteigen und dann zu höheren Bergen aufzusteigen. Im Gegensatz zu C und JAVA ist das leichte Erlernen einer Sprache für viele Menschen so unerreichbar wie der Mount Everest.
**Klar und elegant: Die Syntax von Python ist sehr prägnant, die Codemenge ist gering und das Schreiben ist sehr einfach. Außerdem ist es sehr einfach, den Code zu testen, umzugestalten und zu warten. Ein kleines Skript erfordert möglicherweise 1.000 Zeilen in C und Hunderte Zeilen in JAVA, aber in Python sind es oft nur Dutzende Zeilen!
****Schnelle Entwicklungsgeschwindigkeit:****Was ist die Lebensader aktueller Internetunternehmen? Produktentwicklungsgeschwindigkeit! Wenn Ihre Entwicklungsgeschwindigkeit nicht schnell genug ist, werden die Produkte anderer Leute auf den Markt gebracht, bevor Ihr Produkt auf den Markt kommt, und Sie haben keinen Platz zum Überleben. Hier gibt es unzählige reale Beispiele. Wenn also gesagt wird, dass die Entwicklungsgeschwindigkeit von Python an zweiter Stelle steht, wagt es niemand, sie an erster Stelle zu nennen! (Eine Debatte ist nicht erwünscht_ )

2. Plattformübergreifende, tragbare, erweiterbare, interaktive, interpretierte, objektorientierte dynamische Sprache

Plattformübergreifend: Python unterstützt gängige Betriebssysteme wie Windows, Linux und MAC OS.
Portabel: Code kann normalerweise ohne große Änderungen auf andere Plattformen portiert werden.
Erweiterbar: Die Python-Sprache selbst ist in der Sprache C geschrieben. Sie können C in Python einbetten, um die Ausführungsgeschwindigkeit und Effizienz des Codes zu verbessern. Sie können auch jedes Modul von Python in der C-Sprache umschreiben und dabei Python grundlegend umschreiben, was PyPy tut.
Interaktiv: Python bietet gute Mensch-Computer-Interaktionsschnittstellen wie IDLE und IPython. Sie können Code über das Terminal eingeben und ausführen und erhalten Ergebnisse, interaktive Tests und Debugging-Codefragmente.
Interpretiert: Die Python-Sprache wird während der Ausführung vom Interpreter Zeile für Zeile analysiert, Zeile für Zeile ausgeführt und die Ergebnisse ausgegeben.
Objektorientiert: Die Python-Sprache verfügt über alle objektorientierten Merkmale und Funktionen und unterstützt die klassenbasierte Programmentwicklung.
Dynamische Sprache: Ihre Struktur kann zur Laufzeit geändert werden. Beispielsweise können neue Funktionen, Objekte und sogar Codes eingeführt, bestehende Funktionen gelöscht oder andere strukturelle Änderungen vorgenommen werden. Dynamische Sprachen sind sehr dynamisch.

3. „Eingebauter Akku“, eine große Anzahl von Standardbibliotheken und Bibliotheken von Drittanbietern

Python stellt uns eine sehr vollständige Basisbibliothek zur Verfügung, die alle Aspekte von System, Netzwerk, Dateien, GUI, Datenbank, Textverarbeitung usw. abdeckt. Diese werden standardmäßig zusammen mit dem Interpreter installiert und sind auf allen Plattformen gleich. Dies ist nicht erforderlich Installieren Sie die Unterstützung von Drittanbietern. Erledigen Sie die meisten Aufgaben. Diese Funktion wird als „Batterien im Lieferumfang enthalten“ bezeichnet.

In der Welt der Programmierer gibt es ein Sprichwort mit dem Titel „Erfinde das Rad nicht neu.“ Was bedeutet das? Das heißt, führen Sie keine wiederholte Entwicklungsarbeit durch. Wenn es für ein bestimmtes Problem bereits eine Open-Source-Lösung oder eine Bibliothek eines Drittanbieters gibt, entwickeln Sie diese nicht selbst, sondern verwenden Sie einfach die Lösung eines anderen. Seien Sie nicht zu abergläubisch, was Ihre Programmierfähigkeiten angeht. Sie müssen wissen, dass die Integration in Python als Standardbibliothek hinsichtlich Zuverlässigkeit und Algorithmuseffizienz das höchste Niveau erreicht haben muss. Bibliotheken von Drittanbietern, die weit verbreitet sind, müssen einem standgehalten haben große Anzahl an Anwendungstests. . Sofern das Unternehmen dies nicht verlangt, entwickeln Sie es nicht selbst. Bitte verwenden Sie vorgefertigte Bibliotheken. Lassen Sie die weltbesten Programmierer die Arbeit an der Herstellung von Rädern erledigen. Ohne extremes Denken und mathematische Fähigkeiten ist es schwierig, nützliche Räder zu erstellen.

4. Die Community ist aktiv, es gibt viele Mitwirkende und sie helfen sich gegenseitig.

Die Existenz der technischen Gemeinschaft ist gleichbedeutend mit dem Kompass in den Händen von Programmierern. Ohne Kompass ist es bei einem Problem oft wie eine kopflose Fliege, die nur herumfliegen und schließlich im weiten Ozean ohnmächtig werden und sterben kann. Die technische Gemeinschaft kann uns beim Erlernen und Verwenden von Sprache eine große Hilfe sein. Ob frühes Lernen oder zukünftige Arbeit: Solange wir Probleme haben, können uns die Experten der technischen Gemeinschaft bei der Lösung dieser Probleme helfen. Mit dieser Hilfe können wir helfen uns besser Eine Sprache gut verstehen, lernen und anwenden. Die technische Gemeinschaft fördert außerdem die Entwicklungsrichtung und die funktionalen Anforderungen der Python-Sprache, was Unternehmen dazu veranlasst, die Python-Sprache häufiger zu nutzen und Python-Programmierer einzustellen.

Allerdings handelt es sich hierbei um das oben genannte Ausland. In China scheint es keine relativ ausgereifte technische Python-Community mit weitreichendem Einfluss zu geben. Oder liegt es nur daran, dass ich nur über begrenzte Kenntnisse verfüge und es nicht weiß? Meiner Analyse zufolge gibt es historische Gründe und Gewohnheiten, die sich während der Popularität von Python gebildet haben. Ausländische Python-Meister kommunizieren gerne über Mailinglisten, Wikis usw., während inländische Foren, BBS usw. keinen großen Umfang gebildet haben aktuelle Situation verursacht wurde. .

Lernen Sie daher gut Englisch und kommunizieren Sie mit Programmierern auf der ganzen Welt!

5. Open-Source-Sprachen haben eine enorme Entwicklungsdynamik

Python basiert auf der Sprache C und verwendet die Open-Source-Lizenz GPL. Sie können den Quellcode kostenlos zum Lernen, Recherchieren und sogar zur Verbesserung erhalten. Wenn jeder Öl ins Feuer gießt, beteiligen sich mehr Menschen an der Entwicklung von Python, was seine bessere Entwicklung und mehr Anwendungen fördert und einen positiven Kreislauf bildet. Der Grund, warum Python immer beliebter wird, liegt in seiner Offenheit und Freiheit, die an Popularität gewonnen und eine Community gebildet hat. Viele Menschen tragen dazu bei und immer mehr Menschen nutzen es, was natürlich seinen Marktanteil erhöht. Unternehmen, Unternehmen und Hersteller müssen Python verwenden, und es werden immer mehr Stellen für Python-Programmierer bereitgestellt. Das ist die Stärke von Open Source.

Hier möchte ich Sie über das Problem der Code-Schließung informieren. Der in Python geschriebene Quellcode ist normalerweise nicht verschlüsselt. Wenn Sie Ihr Python-Programm veröffentlichen möchten, veröffentlichen Sie tatsächlich den Quellcode. Dies unterscheidet sich von der C-Sprache. Die C-Sprache muss den Quellcode nicht veröffentlichen. Sie müssen es nur tun Veröffentlichen Sie den kompilierten Maschinencode (auch Es ist die allgemeine xxx.exe-Datei, die Sie unter Windows sehen) und veröffentlichen Sie ihn. Es ist grundsätzlich unmöglich, C-Code aus Maschinencode abzuleiten. Daher hat jede kompilierte Sprache dieses Problem nicht, während interpretierte Sprachen den Quellcode freigeben müssen. Was ist, wenn Sie nicht möchten, dass andere den von Ihnen geschriebenen Python-Code sehen oder plagiieren? Verwenden Sie ein Paketierungstool wie py2exe, um den Python-Quellcode in eine Form zu konvertieren, die einer ausführbaren Exe-Datei ähnelt. Dies ist jedoch nicht absolut sicher. Es erhöht lediglich den Schwellenwert und die Schwierigkeit der Dekompilierung. Für erfahrene Personen ist es ebenfalls erhältlich . Ihr Quellcode.

Sie fragen sich vielleicht: Was soll ich tun, wenn ich Geld verdienen möchte, indem ich Code und Software schreibe und diese verkaufe? jugendlich! Im aktuellen Internet-Zeitalter gibt es immer weniger Geschäftsmodelle, die auf dem Verkauf von Softwarelizenzen basieren, und es gibt immer mehr Modelle, die auf dem Verkauf von Website-Diensten und mobilen Anwendungen basieren. Dieses Modell erfordert nicht, dass der Quellcode an andere weitergegeben wird . Außerdem steht die Open-Source-Bewegung, die jetzt in vollem Gange ist, im Einklang mit dem Geist der Freiheit und Offenheit im Internet. Es gibt unzählige hervorragende Open-Source-Projekte wie das Linux-Ökosystem im Internet. Wir dürfen die enorme Wirkung des Codes nicht überschätzen wir schreiben. „kommerzieller Wert“. In der Welt von Python ist Open Source König. Machen Sie sich keine Sorgen, dass Ihr Code kopiert und nachgeahmt wird, sondern versuchen Sie, Ihr eigenes Niveau und Ihre Fähigkeiten zu verbessern. Dies ist die Grundlage Ihres Lebens.

3. Python-Anwendungsrichtung

1. Allgemeine Softwareentwicklung

Python unterstützt funktionale Programmierung und objektorientierte OOP-Programmierung und kann die Entwicklung jeder Art von Software übernehmen. Daher gehören herkömmliche Softwareentwicklung, Skripterstellung, Netzwerkprogrammierung usw. zu den Standardfunktionen.

2. Wissenschaftliches Rechnen

Mit der Entwicklung vieler Programmbibliotheken wie NumPy, SciPy, Matplotlib, Enthought-Bibliotheken usw. eignet sich Python immer besser für wissenschaftliche Berechnungen und das Zeichnen hochwertiger 2D- und 3D-Bilder. Im Vergleich zu Matlab, der beliebtesten kommerziellen Software im Bereich des wissenschaftlichen Rechnens, ist Python eine allgemeine Programmiersprache. Sie hat ein breiteres Anwendungsspektrum als die von Matlab verwendete Skriptsprache und wird von mehr Programmbibliotheken unterstützt. Obwohl viele erweiterte Funktionen und Toolboxen in Matlab immer noch unersetzlich sind, gibt es in der täglichen wissenschaftlichen Forschung und Entwicklung immer noch viele Aufgaben, die mit Python erledigt werden können.

3. Automatisierter Betrieb und Wartung

Dies ist fast die ausschließliche Domäne von Python-Anwendungen. Als bevorzugte Programmiersprache für Betriebs- und Wartungsingenieure ist Python tief in der Automatisierung von Betrieb und Wartung verwurzelt. Beispielsweise sind Saltstack und Ansible beide bekannte Automatisierungsplattformen.

4. Cloud-Computing

Die Open-Source-Cloud-Computing-Lösung OpenStack wurde auf Basis von Python entwickelt und wird von Studierenden, die sich mit Cloud-Computing beschäftigen, verstanden.

5. WEB-Entwicklung

Es sollte nicht zu viele auf Python basierende Webentwicklungs-Frameworks wie die bekannten Django, Tornado und Flask geben. Die Python+Django-Architektur verfügt über ein sehr breites Anwendungsspektrum, eine sehr schnelle Entwicklungsgeschwindigkeit und eine niedrige Lernschwelle, was Ihnen dabei helfen kann, schnell nutzbare WEB-Dienste zu erstellen.

6. Webcrawler

Es wird auch als Web Spider bezeichnet und ist das zentrale Tool zum Abrufen von Daten in der Big-Data-Branche. Ohne Tag und Nacht automatisierte Webcrawler und das hochintelligente Crawlen kostenloser Daten im Internet gäbe es wahrscheinlich drei Viertel weniger Unternehmen mit Bezug zu Big Data. Es gibt viele Programmiersprachen, die zum Schreiben von Webcrawlern verwendet werden können, aber Python gehört definitiv zu den Mainstream-Sprachen und sein Scripy-Crawler-Framework ist weit verbreitet.

7. Datenanalyse

Auf der Grundlage großer Datenmengen, kombiniert mit wissenschaftlichem Rechnen, maschinellem Lernen und anderen Technologien, sind Bereinigung, Deduplizierung, Standardisierung und gezielte Analyse von Daten die Eckpfeiler der Big-Data-Branche. Python ist eine der Mainstream-Sprachen für die Datenanalyse.

8. Künstliche Intelligenz

Python ist eine gängige Programmiersprache für maschinelles Lernen, neuronale Netze, Deep Learning und andere Aspekte der künstlichen Intelligenz und wird weithin unterstützt und verwendet.
Neben den oben genannten Mainstream- und Spitzenbereichen spielt Python natürlich auch in anderen traditionellen oder speziellen Branchen eine wichtige Rolle.

4. Python-Benutzer

Welche Unternehmen nutzen Python nach so vielen fortschrittlichen und innovativen Python-Technologierichtungen?

Die bekanntesten in China sind Zhihu und Douban, auf Python basierende Webdienste. Andere Unternehmen wie Baidu, Alibaba, Taobao, Sohu, Kingsoft, Tencent, Shanda, NetEase, Tudou, Sina, Guoke und andere verwenden Python, um verschiedene Aufgaben zu erledigen. Fast alle Internetunternehmen rekrutieren Python-Programmierer. .

Im Ausland gibt es unzählige weitere. Googles Google App Engine, http://code.google.com, Google Earth, Google Crawler, Werbung und andere Projekte nutzen Python in großem Umfang für die Entwicklung. Und Facebook, Twitter und so weiter. Fast alle Linux-Distributionen verfügen über einen integrierten Python-Interpreter.

Das Folgende ist ein unvollständiges statistisches Diagramm:
Bitte fügen Sie eine Bildbeschreibung hinzu

5. Nachteile von Python

Wir haben gerade über die Vorteile von Python gesprochen, müssen aber auch über seine Nachteile sprechen. Jede Programmiersprache hat ihre Mängel, und Python ist da keine Ausnahme.

Der erste Nachteil besteht darin, dass die Ausführungsgeschwindigkeit relativ langsam ist, viel langsamer als bei C-Programmen. Dies ist ein häufiges Problem interpretierter Sprachen. Wenn Ihr Python-Code ausgeführt wird, wird er Zeile für Zeile in Maschinencode übersetzt, den die CPU verstehen kann. Diese Übersetzung Der Prozess ist sehr zeitaufwändig und wird daher langsam sein. Als kompilierte Sprache werden C-Programme direkt in Maschinencode kompiliert, den die CPU vor der Ausführung ausführen kann, sodass sie sehr schnell sind. (Gleichzeitig können Sie jedoch verstehen, dass die C-Sprache Zeit mit der zeitaufwändigen Arbeit verbringt, bevor die Produktion online geht, sodass die Laufzeit schneller ist.)

Aber die Langsamkeit von Python ist nicht so gravierend, wie Sie denken, denn:

Die Geschwindigkeit des Programms ist nicht mehr so ​​wichtig, und es muss nicht unbedingt das Streben nach Perfektion sein:
Tatsächlich haben wir bereits zuvor erwähnt, dass CPUs in den frühen Tagen relativ teuer waren, die Rechenressourcen knapp waren und der Speicher knapp war auch teuer. Die Geschwindigkeit, mit der das Programm ausgeführt wird, und die Zeit, die es benötigt, sind sehr wichtig. . Dies ist einer der Gründe, warum die Informatik die Effizienz verschiedener Algorithmen untersucht. Dies ist jedoch nicht mehr der wichtigste Faktor, da Chips mittlerweile günstiger und schneller sind. Laufzeit ist nicht mehr Ihre teuerste Ressource. Die teuerste Ressource eines Unternehmens ist mittlerweile die Zeit der Mitarbeiter. Oder mit anderen Worten: Sie. Es ist wichtiger, Dinge innerhalb der angegebenen Zeit zu erledigen, als das Programm schneller zu machen. Python hat eine prägnante Syntax und enthält eine große Anzahl von Standardbibliotheken und Bibliotheken von Drittanbietern. Mit weniger Anweisungen können Sie Aufgaben erledigen, die Hunderte von Anweisungen in anderen Sprachen erfordern. Dies verbessert zweifellos die Geschwindigkeit und Effizienz der Entwicklung erheblich und hilft Ihnen bei der Fertigstellung Das Projekt in möglichst kurzer Zeit fertigstellen. Die Arbeiten fristgerecht abschließen.

Das soll nicht heißen, dass Geschwindigkeit überhaupt nicht wichtig ist, es bedeutet nur, dass Geschwindigkeit nicht mehr das einzig Wichtige und das Einzige ist, was es zu berücksichtigen gilt. Heutzutage ist die Geschwindigkeit der Produktentwicklung weitaus wichtiger als die Geschwindigkeit der Programmausführung. Am Ende des Tages entscheidet nur die Markteinführungszeit über das Überleben oder Sterben Ihres Unternehmens. Die einzige Möglichkeit für ein Unternehmen, zu überleben, besteht darin, schneller als die Konkurrenz zu innovieren. Es spielt keine Rolle, wie viele gute Ideen Sie haben, wenn Ihre Konkurrenten Ihr Produkt bereits vor Ihnen auf den Markt gebracht haben.

Es gibt Engpässe im Gesamtsystem, die langsamer laufen als Python-Programme:
Wenn Sie eine Netzwerkanwendung schreiben, beispielsweise einen Webdienst, ist die CPU-Zeit wahrscheinlich nicht der Engpass Ihres Programms. Wenn Ihr Webserver eine Anfrage verarbeitet, kann er mehrere Netzwerkaufrufe tätigen, beispielsweise an eine Datenbank oder einen Cache-Server wie Redis. Während die Dienste selbst schnell sein mögen, sind Netzwerkanrufe zu ihnen langsam. Wenn ein einzelner CPU-Zyklus einer Sekunde entspricht, entspricht ein Netzwerkanruf von Peking nach Shanghai einem Jahr. Es ist ersichtlich, wie langsam Netzwerkanrufe sind. Was bedeutet das? Es bedeutet, dass Python nicht der langsamste Teil des Systems ist. Es gibt Laufengpässe, die um Größenordnungen langsamer sind als Python und in der Mitte des Systems stecken bleiben, wodurch die Laufgeschwindigkeit des gesamten Systems eingeschränkt wird.

Aber egal was passiert, Fakt ist, dass Python langsam ist. Wenn Sie Python wirklich beschleunigen müssen, können Sie es in C schreiben und von Python aus aufrufen.
Darüber hinaus sagte Programmierer-Tycoon Donald Knuth, dass vorzeitige Optimierung die Wurzel allen Übels sei. In der frühen und mittleren Entwicklungsphase ist das Streben nach Laufgeschwindigkeit und Effizienz undankbar. Agile Entwicklung und schnelle Iteration sind die Königsmodelle der aktuellen Softwareentwicklung, und Python wurde dafür geboren.
Das zweite Problem ist die globale Interpretersperre GIL (Global Interpreter Lock), eine Mutex-Sperre, die verhindert, dass mehrere Threads gleichzeitig Maschinencode ausführen. Sie ist ein Produkt eines Kompromisses zwischen Funktionalität und Leistung. Hierbei handelt es sich um ein historisches Problem, das beim Entwurf der Python-Sprache zurückgeblieben ist und auch durch die begrenzte Stärke des damaligen technischen Teams begrenzt wurde. Die spezifischen technischen Details werden zunächst nicht erläutert. Die Konsequenz ist, dass Python, wenn es Multithread-Aufgaben ausführt, tatsächlich Pseudo-Multithreading ist und eine schlechte Leistung aufweist. Dies wurde kritisiert. Jeder kann es in jedem technischen Forum finden. Finden eine lebhafte Diskussion zu diesem Thema. Dieses Problem von Python existiert tatsächlich und wird für einen bestimmten Zeitraum nicht gelöst. Warum? Dies erfordert eine Neugestaltung von Python von Grund auf, was äußerst schwierig ist, viel Arbeit erfordert und enorme Auswirkungen auf das bestehende Ökosystem haben wird. Was ist also die Lösung? Verwenden Sie den inoffiziellen PyPy-Interpreter oder Coroutine-Mechanismus.

Das dritte Problem, das keinen Nachteil darstellt, ist die Inkompatibilität zwischen Python2 und Python3. Dies wird später besprochen.

6. Das Zen von Python

Lassen Sie uns abschließend unsere Einführung in Python mit dem offiziellen Motto von Python beenden, das allgemein als „Das Zen von Python“ bekannt ist. Geben Sie im IDLE oder interaktiven Interpreter von Python import this ein, und Sie sehen den folgenden Absatz:

Das Zen von Python, von Tim Peters

Schön ist besser als hässlich.
Explizit ist besser als implizit.
Einfach ist besser als komplex.
Komplex ist besser als kompliziert.
Flach ist besser als verschachtelt.
Sparse ist besser als dicht.
Lesbarkeit zählt.
Sonderfälle sind nicht speziell genug, um gegen die Regeln zu verstoßen.
Obwohl die Praktikabilität die Reinheit übertrifft.
Fehler sollten niemals stillschweigend passieren.
Sofern nicht ausdrücklich zum Schweigen gebracht.
Widerstehen Sie angesichts von Unklarheiten der Versuchung, zu raten.
Es sollte einen – und vorzugsweise nur einen – offensichtlichen Weg geben, dies zu tun.
Obwohl dieser Weg vielleicht zunächst nicht offensichtlich ist, es sei denn, Sie sind Niederländer.
Jetzt ist besser als nie.
Obwohl es nie besser ist als richtigJetzt.
Wenn die Implementierung schwer zu erklären ist, ist das eine schlechte Idee.
Wenn die Umsetzung leicht zu erklären ist, kann es eine gute Idee sein.
Namespaces sind eine wirklich tolle Idee – lasst uns mehr davon machen!

Übersetzt bedeutet es:

Schön ist besser als hässlich (Python möchte schönen Code schreiben)
Klar ist besser als dunkel (Schöner Code sollte klar, gut benannt und im Stil ähnlich sein)
Einfach ist besser als komplex (Schöner Code sollte einfach sein, ohne Komplexität Interne Implementierung )
Komplexität ist besser als Unordnung (wenn Komplexität unvermeidbar ist, sollte es keine schwer verständlichen Beziehungen zwischen Codes geben und die Schnittstelle sollte einfach gehalten werden) Flach
ist besser als Verschachtelung (schöner Code sollte flach sein und nicht zu viele Verschachtelungen aufweisen). ) )
Abstand ist besser als Enge (Schöner Code hat den richtigen Abstand, erwarten Sie nicht, dass eine Codezeile das Problem löst)
Lesbarkeit ist wichtig (Schöner Code ist lesbar)
Diese Regeln können nicht einmal im Namen der Praktikabilität von Special verletzt werden Fälle (Diese Regeln sind von größter Bedeutung)
Tolerieren Sie nicht alle Fehler, es sei denn, Sie wissen, dass Sie es müssen (Ausnahmen genau abfangen, nicht schreiben, außer: Code im Stil übergeben).
Wenn es mehrere Möglichkeiten gibt, versuchen Sie nicht zu raten, sondern zu finden eins, vorzugsweise Die einzig offensichtliche Lösung (wenn Sie sich nicht sicher sind, verwenden Sie die erschöpfende Methode).
Obwohl es nicht einfach ist, da Sie nicht der Vater von Python sind (Niederländisch bezieht sich hier auf Guido), ist es
möglicherweise besser, es zu tun, als es nicht zu tun Tun Sie es, aber tun Sie es ohne nachzudenken. Es ist besser, es nicht zu tun (denken Sie sorgfältig nach, bevor Sie es tun).
Wenn Sie Ihre Lösung anderen nicht beschreiben können, ist sie definitiv keine gute Lösung; umgekehrt (Lösungsbewertungskriterien)
Namespaces sind es eine wunderbare Idee, die wir stärker nutzen (befürworten und aufrufen) sollten

Wenn Sie den oben genannten Geist genau verstehen und praktizieren, können Sie sicher sein, dass Ihr Programmierniveau erheblich verbessert wird!

Supongo que te gusta

Origin blog.csdn.net/Everly_/article/details/133136471
Recomendado
Clasificación