Heim > Backend-Entwicklung > Python-Tutorial > Ein Beispiel zur Erläuterung der Verwendung der Lambda-Anweisung von Python zum Deklarieren anonymer Funktionen

Ein Beispiel zur Erläuterung der Verwendung der Lambda-Anweisung von Python zum Deklarieren anonymer Funktionen

高洛峰
Freigeben: 2017-01-23 14:36:40
Original
1698 Leute haben es durchsucht

Die sogenannte anonyme Funktion bedeutet, dass keine Funktion definiert werden muss, sie wie ein Ausdruck verwendet werden kann und kein Funktionsname erforderlich ist (oft stört mich der Name). Vereinfacht: Zum Beispiel
Ich brauche zwei Eine Funktion, die Ganzzahlen hinzufügt, wird normalerweise so definiert

def add(x, y):
  return x + y
Nach dem Login kopieren

Sie vervollständigt die Funktion, die ich brauche, sehr gut, aber jetzt brauche ich eine Funktion das fügt Zahlen und Zeichenfolgen hinzu

def addstr(x, y):
  return x + str(y)
Nach dem Login kopieren

Ich habe wieder einmal meine Bedürfnisse erfüllt, aber ich brauche plötzlich die Funktion zum Subtrahieren und Dividieren zweier Ganzzahlen, also muss die Funktion die ganze Zeit aufgeschrieben werden, aber mit Lambda Anonyme Funktionen können direkt verwendet werden

# 相加的实现
f = lambda x, y: x + y
 
f_str = lambda x, y: x + str(y)
Nach dem Login kopieren

vereinfacht die Bedienung und macht die Funktion einfacher, hat jedoch den Nachteil einer schlechten Wartbarkeit. Dies wird nicht empfohlen, wenn komplexe Funktionen erforderlich sind >

lambda [arg1[, arg2, ... argN]]: expression
Nach dem Login kopieren
Das folgende Beispiel veranschaulicht die Verwendung der Lambda-Anweisung (keine Parameter).


Python anonyme Funktion Lambda-Beispiel (keine Parameter) Python

# 使用def定义函数的方法
def true():
  return True
 
#等价的lambda表达式
>>> lambda :True
<function <lambda> at 0x0000000001E42518>
 
# 保留lambda对象到变量中,以便随时调用
>>> true = lambda :True
>>> true()
True
 
# 使用def定义函数的方法
def true():
  return True
  
#等价的lambda表达式
>>> lambda :True
<function <lambda> at 0x0000000001E42518>
  
# 保留lambda对象到变量中,以便随时调用
>>> true = lambda :True
>>> true()
True
Nach dem Login kopieren

Hier ist ein weiteres Beispiel mit Parametern.

Beispiel für eine anonyme Python-Funktion Lambda (einschließlich Parameter) Python

# 使用def定义的函数
def add( x, y ):
  return x + y
 
# 使用lambda的表达式
lambda x, y: x + y
 
# lambda也允许有默认值和使用变长参数
lambda x, y = 2: x + y
lambda *z: z
 
# 调用lambda函数
>>> a = lambda x, y: x + y
>>> a( 1, 3 )
4
>>> b = lambda x, y = 2: x + y
>>> b( 1 )
3
>>> b( 1, 3 )
4
>>> c = lambda *z: z
>>> c( 10, &#39;test&#39;)
(10, &#39;test&#39;)
 
# 使用def定义的函数
def add( x, y ):
  return x + y
  
# 使用lambda的表达式
lambda x, y: x + y
  
# lambda也允许有默认值和使用变长参数
lambda x, y = 2: x + y
lambda *z: z
  
# 调用lambda函数
>>> a = lambda x, y: x + y
>>> a( 1, 3 )
4
>>> b = lambda x, y = 2: x + y
>>> b( 1 )
3
>>> b( 1, 3 )
4
>>> c = lambda *z: z
>>> c( 10, &#39;test&#39;)
(10, &#39;test&#39;)
Nach dem Login kopieren

Sieht der Code nicht prägnanter aus, ohne die Lesbarkeit zu verlieren?

Weitere Beispiele zur Erläuterung der Verwendung der Lambda-Anweisung von Python zum Deklarieren anonymer Funktionen finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Verwandte Etiketten:
Quelle:php.cn
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