Fonction [Python]

Fonction d'ordre supérieur

  • Fonction qui accepte une fonction comme paramètre ou renvoie une fonction comme résultat
Afficher le code

Afficher le code

 

Fonction imbriquée

  • Encapsuler les fonctions internes
  • Améliorez l'efficacité, comme la fonction factorielle, vérifiez d'abord les données d'entrée

Fermeture

  • La fonction externe renvoie une fonction
1  def nth_power (exposant):
 2      def exponent_of (base):
 3          return base ** exposant
 4      return exponent_of
 5  
6 square = nth_power (2 )
 7 cube = nth_power (3 )
 8  
9  print (square (2 ))
 10  print ( cube (3))
Afficher le code

 Fonction anonyme

  • Une seule ligne
  • Expression plutôt que déclaration
  • Le paramètre transmis est un objet itérable. Le lambda appelle en interne la méthode __next__ de l'objet itérable pour prendre la valeur comme paramètre avant de passer la valeur devant les deux-points de la fonction lambda, puis renvoie le résultat du calcul de l'expression après les deux-points.
  • Avantages: réduction de la répétabilité du code; code modulaire
1 [( lambda x: x * x) (x) pour x dans la plage (10)]
Afficher le code

 

1 l = [(1,20), (3,0), (9,10), (2, -1 )]
 2 l. Tri (clé = lambda x: x [1 ])
 3  impression (l)
Afficher le code

Objet appelable

  • (): Opérateur appelable
  • L'objet appelable implémente la fonction intégrée callabel ()
1  importation aléatoire
 2  
BingoCage 3  classes :
 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          sauf IndexError:
 11              raise LookupError ( ' pick from empty BingoCage ' )
 12      def  __call__ (self):
 13          return self.pick ()
14  
15 bingo = BingoCage (plage (5 ))
 16 bingo.pick ()
Afficher le code

Programmation fonctionnelle

  • Chaque morceau de code est immuable, c'est-à-dire composé de fonctions pures
  • map (fonction, itérable): Pour chaque élément dans itérable, utilisez la fonction fonction, et enfin retournez une nouvelle collection traversable
  • filtre (fonction, itérable): pour chaque élément dans itérable, la fonction fonction est utilisée pour juger, et les éléments qui retournent True forment une nouvelle collection traversable
  • réduire (fonction, itérable): opérer sur les deux premiers éléments d'un ensemble, puis renvoyer le résultat et le troisième élément, etc.
1  # map 函数
2  def factorial (n):
 3      return 1 if n <2 else n * factorial (n-1 )
 4  
5 fact = factorial
 6 list (map (fact, range (10)))
Afficher le code

1 liste (carte (fait, filtre ( lambda n: n% 2, plage (6)))))
Afficher le code

1  depuis functools import réduire 
 2 réduire ( lambda x, y: x + y, [1,2,3,4,5])
Afficher le code

Je suppose que tu aimes

Origine www.cnblogs.com/cxc1357/p/12708173.html
conseillé
Classement