[Python] -Funktion

Funktion höherer Ordnung

  • Funktion, die eine Funktion als Parameter akzeptiert oder als Ergebnis eine Funktion zurückgibt
Code anzeigen

Code anzeigen

 

Verschachtelte Funktion

  • Interne Funktionen einkapseln
  • Verbessern Sie die Effizienz, z. B. die Fakultätsfunktion. Überprüfen Sie zuerst die Eingabedaten

Schließung

  • Externe Funktion gibt eine Funktion zurück
1  def nth_power (Exponent):
 2      def exponent_of (Basis):
 3          return base ** Exponent
 4      return exponent_of
 5  
6 square = nth_power (2 )
 7 cube = nth_power (3 )
 8  
9  print (square (2 ))
 10  print ( Würfel (3))
Code anzeigen

 Anonyme Funktion

  • Nur eine Zeile
  • Ausdruck statt Aussage
  • Der übergebene Parameter ist ein iterierbares Objekt. Das Lambda ruft intern die Methode __next__ des iterierbaren Objekts auf, um den Wert als Parameter zu verwenden und den Wert vor dem Doppelpunkt der Lambda-Funktion zu übergeben, und gibt dann das Ergebnis der Ausdrucksberechnung nach dem Doppelpunkt zurück
  • Vorteile: Reduzieren Sie die Wiederholbarkeit des Codes; modularer Code
1 [( Lambda x: x * x) (x) für x im Bereich (10)]
Code anzeigen

 

1 l = [(1,20), (3,0), (9,10), (2, -1 )]
 2 l. Sortierung (Schlüssel = Lambda x: x [1 ])
 3  Druck (l)
Code anzeigen

Aufrufbares Objekt

  • (): Anrufbarer Operator
  • Das aufrufbare Objekt implementiert die integrierte Funktion callabel ()
1  Import zufällig
 2  
3  Klasse BingoCage:
 4      def  __init__ (self, items):
 5          self._items = list (items)
 6          random.shuffle (self._items)
 7      def pick (self):
 8          try :
 9              return self._items .pop ()
 10          außer IndexError:
 11              LookupError erhöhen ( ' aus leerem BingoCage auswählen ' )
 12      def  __call__ (self):
 13          return self.pick ()
14  
15 bingo = BingoCage (Bereich (5 ))
 16 bingo.pick ()
Code anzeigen

Funktionsprogrammierung

  • Jeder Code ist unveränderlich, dh er besteht aus reinen Funktionen
  • map (function, iterable): Verwenden Sie für jedes Element in iterable die Funktionsfunktion und geben Sie schließlich eine neue durchlaufbare Sammlung zurück
  • filter (function, iterable): Für jedes Element in iterable wird die Funktionsfunktion zur Beurteilung verwendet, und die Elemente, die True zurückgeben, bilden eine neue durchlaufbare Sammlung
  • reduzieren (Funktion, iterierbar): Bearbeiten Sie die ersten beiden Elemente einer Menge und geben Sie dann das Ergebnis und das dritte Element zurück
1  # Karte函数
2  def faktoriellen (n):
 3      return 1 , wenn n <2 else n * faktoriellen (n-1 )
 4  
5 FACT = faktoriellen
 6 - Liste (Karte (Tat - Bereich (10)))
Code anzeigen

1 Liste (Karte (Fakt, Filter ( Lambda n: n% 2, Bereich (6))))
Code anzeigen

1  aus functools import reduzieren 
 2 reduzieren ( Lambda x, y: x + y, [1,2,3,4,5])
Code anzeigen

Ich denke du magst

Origin www.cnblogs.com/cxc1357/p/12708173.html
Empfohlen
Rangfolge