Heim  >  Artikel  >  Backend-Entwicklung  >  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

高洛峰
高洛峰Original
2017-01-23 14:36:401616Durchsuche

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

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)

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)

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
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

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;)

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!

Stellungnahme:
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
Vorheriger Artikel:Python Deep Learning-LeitfadenNächster Artikel:Python Deep Learning-Leitfaden