Heim  >  Artikel  >  Backend-Entwicklung  >  5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz

5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz

coldplay.xixi
coldplay.xixiOriginal
2021-02-22 17:29:032746Durchsuche

5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz

Kostenlose Lernempfehlung: Python-Video-Tutorial

5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Die erweiterten Funktionen jeder Programmiersprache werden normalerweise durch viel Erfahrung entdeckt. Nehmen wir an, Sie arbeiten an einem komplexen Projekt und suchen nach einer Antwort auf eine Frage zum Stackoverflow. Dann entdecken Sie plötzlich eine sehr elegante Lösung, die Python-Funktionen nutzt, von denen Sie nie wussten, dass sie existieren!

Diese Art des Lernens macht so viel Spaß: Durch Erkundung etwas zufällig entdecken.

Hier sind 5 erweiterte Funktionen von Python und ihre Verwendung.

Lambda-Funktion

Die Lambda-Funktion ist eine relativ kleine anonyme Funktion – anonym bedeutet, dass sie eigentlich keinen Funktionsnamen hat.

Python-Funktionen werden normalerweise im def a_function_name()-Stil definiert, aber für Lambda-Funktionen geben wir ihnen überhaupt keinen Namen. Dies liegt daran, dass die Funktion einer Lambda-Funktion darin besteht, einen einfachen Ausdruck oder eine Operation auszuführen, ohne die Funktion vollständig zu definieren.

Die Lambda-Funktion kann beliebig viele Argumente annehmen, der Ausdruck jedoch nur eines.
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Schauen Sie, wie einfach es ist! Wir haben einige einfache mathematische Operationen durchgeführt, ohne die gesamte Funktion zu definieren. Dies ist eine der vielen Funktionen von Python, die es zu einer sauberen, einfachen Programmiersprache machen.

Map-Funktion

Map() ist eine integrierte Python-Funktion, die Funktionen auf Elemente in verschiedenen Datenstrukturen wie Listen oder Wörterbüchern anwenden kann. Dies ist eine sehr saubere und lesbare Art, diesen Vorgang durchzuführen.
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Filterfunktion

Die integrierte Filterfunktion ist der Kartenfunktion sehr ähnlich, sie wendet Funktionen auch auf Sequenzstrukturen (Listen, Tupel, Wörterbücher) an. Der Hauptunterschied zwischen den beiden besteht darin, dass filter() nur Elemente zurückgibt, für die die angewendete Funktion True zurückgibt.

Einzelheiten finden Sie im Beispiel unten.
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Wir bewerten nicht nur jedes Listenelement auf „True“ oder „False“, die Funktion filter() stellt auch sicher, dass nur Elemente zurückgegeben werden, die mit „True“ übereinstimmen. Es ist sehr praktisch, die beiden Schritte der Überprüfung von Ausdrücken und der Erstellung von Rückgabelisten durchzuführen.

Itertools-Modul

Pythons Itertools-Modul ist eine Sammlung von Tools für die Arbeit mit Iteratoren. Iteratoren sind ein Datentyp, der in For-Schleifenanweisungen verwendet werden kann, einschließlich Listen, Tupeln und Wörterbüchern.

Mit den Funktionen im Itertools-Modul können Sie viele Iteratoroperationen ausführen, die oft mehrzeilige Funktionen und komplexe Listenverständnisse erfordern. Schauen Sie sich das folgende Beispiel zur Magie von Itertools an:
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Generator-Funktion

Generator-Funktion ist eine Iterator-ähnliche Funktion, d. h. sie kann auch in for-Schleifenanweisungen verwendet werden. Dies vereinfacht Ihren Code erheblich und spart im Vergleich zu einer einfachen for-Schleife viel Speicher.

Zum Beispiel möchten wir alle Zahlen von 1 bis 1000 addieren. Der erste Teil des folgenden Codeblocks zeigt Ihnen, wie Sie eine for-Schleife verwenden, um diese Berechnung durchzuführen.

Wenn die Liste klein ist, beispielsweise 1000 Zeilen, ist der für die Berechnung erforderliche Speicher in Ordnung. Wenn die Liste jedoch riesig ist, beispielsweise Milliarden von Gleitkommazahlen, führt dies zu Problemen. Wenn Sie diese Art von for-Schleife verwenden, haben Sie eine riesige Liste im Speicher, aber nicht jeder verfügt über unbegrenzten RAM, um so viele Dinge zu speichern. Die Funktion range() in Python macht das Gleiche: Sie erstellt eine Liste im Speicher.

Der zweite Teil des Codes zeigt die Verwendung der Python-Generatorfunktion zum Summieren einer Liste von Zahlen. Die Generatorfunktion erstellt Elemente und speichert sie nur bei Bedarf, d. h. einzeln, im Speicher. Das heißt, wenn Sie eine Milliarde Gleitkommazahlen erstellen würden, könnten Sie diese nur einzeln im Speicher ablegen! Die Funktion xrange() in Python 2.x verwendet einen Generator zum Erstellen einer Liste.

Das obige Beispiel verdeutlicht: Wenn Sie eine Liste für einen großen Bereich generieren möchten, müssen Sie die Generatorfunktion verwenden. Dieser Ansatz ist besonders wichtig, wenn Sie über begrenzten Speicher verfügen, beispielsweise bei mobilen Geräten oder Edge Computing.

Das heißt, wenn Sie eine Liste mehrmals durchlaufen möchten und diese klein genug ist, um in den Speicher zu passen, ist es besser, eine for-Schleife oder die Range-Funktion in Python 2.x zu verwenden. Da die Generatorfunktion und die Xrange-Funktion bei jedem Zugriff neue Listenwerte generieren, ist die Range-Funktion von Python 2.x eine statische Liste, und die Ganzzahlen werden für einen schnellen Zugriff bereits im Speicher abgelegt.
5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz
Für Anfänger, die Python-Entwicklung, Crawler-Technologie, Python-Datenanalyse, künstliche Intelligenz und andere Technologien einfacher erlernen möchten, gibt es hier auch eine Reihe von Lernmaterialien von der Python-Einführung bis zur Praxis, die kostenlos verfügbar sind.

Verwandte kostenlose Lernempfehlungen: Python-Tutorial(Video)

Das obige ist der detaillierte Inhalt von5 erweiterte Anwendungen zur Verbesserung der Python-Effizienz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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