Ein Lambda-Ausdruck erfasst eine externe Variable, indem er einen Verweis auf die Variable im externen Bereich erstellt. Zu den spezifischen Schritten gehören: Wenn ein Lambda-Ausdruck eine externe Variable verwendet, erfasst er die Variable. Lambda-Ausdrücke können nur lokale Variablen in externen Funktionen erfassen, keine globalen Variablen. Wenn die externe Variable neu zugewiesen wird, wird auch die im Lambda-Ausdruck erfasste Referenz aktualisiert.
Wie Lambda-Ausdrücke externe Variablen erfassen
Lambda-Ausdrücke sind anonyme Funktionen, die auf Variablen im umschließenden Bereich zugreifen können. Wenn ein Lambda-Ausdruck eine externe Variable erfasst, erstellt er einen Verweis auf diese Variable.
Syntax
lambda 参数列表: 表达式
Externe Variablen erfassen
Wenn ein Lambda-Ausdruck eine in einem externen Bereich deklarierte Variable verwendet, wird diese erfasst.
# 定义外部函数 def outer_function(): outer_variable = 10 # 定义 lambda 表达式,捕获 outer_variable my_lambda = lambda: outer_variable # 调用 lambda 表达式,获取外部变量 result = my_lambda() print(result) # 输出: 10
Hinweise
Lambda-Ausdrücke können nur lokale Variablen in externen Funktionen erfassen, keine globalen Variablen. Wenn die externe Variable außerdem neu zugewiesen wird, wird auch die im Lambda-Ausdruck erfasste Referenz aktualisiert.
Praktisches Beispiel
# 使用 lambda 表达式对列表中的数字进行排序 numbers = [4, 2, 8, 1, 6] # 根据数字的平方对列表进行排序 sorted_numbers = sorted(numbers, key=lambda x: x**2) # 打印排序后的列表 print(sorted_numbers) # 输出: [1, 4, 2, 6, 8]
In diesem Beispiel erfasst der Lambda-Ausdruck das Quadrat von x
变量,并计算 x
im äußeren Bereich als Sortierbasis.
Das obige ist der detaillierte Inhalt vonWie erfasst ein Lambda-Ausdruck externe Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!