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.
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.
Sie können auch anonyme Funktionen als Rückgabewerte zurückgeben
Es ist ersichtlich, dass die Variable f ein Lambda-Funktionstyp ist und Sie f() verwenden müssen, um die Funktion aufzurufen.
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:
Eine einfache Listenanalyse, bei der mithilfe der Kartenfunktion zu jedem Element der Liste a 2 hinzugefügt wird, kann wie folgt geschrieben werden:
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 Sequenzsummierung
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
Wir Das Folgende kann auch durch die Reduzierungs- und Kartenfunktionen erreicht werden
Verwenden 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 .
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!