Heim > Backend-Entwicklung > Python-Tutorial > Python-Funktionsprogrammierung sollte jeder kennen

Python-Funktionsprogrammierung sollte jeder kennen

WBOY
Freigeben: 2023-04-11 22:43:12
nach vorne
1546 Leute haben es durchsucht

Funktionale Programmierung oder funktionale Programmierung ist ein Programmierparadigma.

Es behandelt Computeroperationen als mathematische Funktionsoperationen und vermeidet die Verwendung von Programmzuständen und variablen Objekten.

Die oben genannten sind nur einfache funktionale Programmierkonzepte, wir müssen sie nur kurz verstehen.

In Python besteht die funktionale Programmierung hauptsächlich aus der Verwendung mehrerer Funktionen: Lambda()​, Map()​, Reduce()​, Filter() usw.

1.Lambda-Funktion

Lambda-Funktion wird wieder eine anonyme Funktion. Eine Lambda-Funktion kann nur einen Ausdruck haben und es ist nicht erforderlich, return zu schreiben, um den Wert der Funktion zurückzugeben. Natürlich ist die anonyme Funktion auch ein Funktionsobjekt, und die anonyme Funktion kann auch einer Variablen zugewiesen werden.

Python-Funktionsprogrammierung sollte jeder kennen

Sie können auch anonyme Funktionen als Rückgabewerte zurückgeben

Python-Funktionsprogrammierung sollte jeder kennen

Es ist ersichtlich, dass die Variable f ein Lambda-Funktionstyp ist und Sie f() verwenden müssen, um die Funktion aufzurufen.

2.map-Funktion

Die Map-Funktion empfängt zwei Parameter, einer ist eine Funktion und der andere ist eine Interable (iterierbare Sequenz). Die Map-Funktion wendet die Funktion nacheinander auf jedes Element der Sequenz an und gibt das Ergebnis als zurück neues Interable.

Sehen Sie sich ein Beispiel an:

Python-Funktionsprogrammierung sollte jeder kennen

Eine einfache Listenanalyse, bei der mithilfe der Kartenfunktion zu jedem Element der Liste a 2 hinzugefügt wird, kann wie folgt geschrieben werden:

Python-Funktionsprogrammierung sollte jeder kennen

Da die Kartenfunktion eine verzögerte Sequenz zurückgibt, It muss über Funktionen wie list() aufgerufen werden.

Obwohl der obige Code komplizierter aussieht als das direkte Schreiben einer for-Schleife, ist die Effizienz von Pythons for bei großen Datenmengen nicht sehr hoch, während die Effizienz von Map der der C-Sprache nahe kommen kann. Gleichzeitig ist der Code viel einfacher und ähnelt einem X-Artefakt.

Ein weiteres kleines Beispiel: Konvertieren Sie die Elemente in der Liste in eine Zeichenfolge, einen Befehl Die Reduzierungsfunktion wird rekursiv berechnet.

Eine einfache SequenzsummierungPython-Funktionsprogrammierung sollte jeder kennen

Summieren Sie jedes Element der Liste a der Reihe nach und schauen wir uns ein Beispiel einer hausgemachten int()-Funktion an

Dies ist die Verwendung der in Python integrierten Funktion int

Python-Funktionsprogrammierung sollte jeder kennen

Wir Das Folgende kann auch durch die Reduzierungs- und Kartenfunktionen erreicht werden

Python-Funktionsprogrammierung sollte jeder kennenVerwenden Sie zunächst die Kartenfunktion, um die Zeichenfolgenliste 23465 zu durchlaufen, und wenden Sie dann jedes Element der Liste über die Reduzierungsfunktion rekursiv auf die Lambda-Funktion an.

4. Filterfunktion

Es empfängt außerdem eine Funktion und eine Sequenz () wendet die übergebene Funktion nacheinander auf jedes Element an und entscheidet dann, ob das Element beibehalten oder verworfen wird, basierend darauf, ob der Rückgabewert True oder False ist . Python-Funktionsprogrammierung sollte jeder kennen

Zusammenfassung

Die Verwendung dieser Funktionen kann nicht nur unseren Code prägnanter machen, sondern auch die Effizienz erheblich verbessern, wenn die Datenmenge groß ist oder die Berechnung intensiv ist.

Das obige ist der detaillierte Inhalt vonPython-Funktionsprogrammierung sollte jeder kennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage