编程语言
首页 > 编程语言> > python 中lambda函数的用法

python 中lambda函数的用法

作者:互联网

lambda函数

匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。
lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。

语法:

lambda _arguments_ : _expression_

实例

一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果:

x = lambda a : a + 10
print(x(5)) # 15

python中的4种作用域:
L:Local,局部作用域,也就是我们在函数中定义的变量;
E:Enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的;
G:Globa,全局变量,就是模块级别定义的变量;
B:Built-in,系统内置模块里的变量,比如:int,bytearray等

变量作用域LEGB原则:
查找顺序:Local>Enclosing>Global>Built-in

闭包

如果一个函数内部又定义了一个函数,就把外部函数称为外函数,内部的函数称为内函数。如果内函数引用了外函数的变量,而外函数返回内函数(引用),就把这种形式称之为 闭包。并且当外函数结束时会将变量绑定给内函数。

def adder(x):
     def wrapper(y):
        return x + y
     return wrapper
adder5 = adder(5) # x=5,y;adder5(6)=wrapper(x=5,6) = 11
print(adder5(adder(6))) # adder(11) = wrapper(x=5,11) = 5+11= 16

标签:11,函数,python,wrapper,用法,作用域,adder,lambda
来源: https://www.cnblogs.com/7xiaomao/p/16366466.html