Python 匿名函数lambda

lambda表达式,又称为匿名函数。通常用来表示只有1行代码的函数。

lambda匿名函数语法如下:

lambda 参数列表: 表达式
  • lambda表达式的参数列表中参数个数不固定,可以没有参数,也可以有多个,参数之间用逗号隔开。
  • 表达式部分是必须有的,用于返回一个值,即函数的返回值。表达式可以使用参数列表中定义的参数。

匿名函数示例

(1)无参数

fn1 = lambda : print("hello")
fn1()    #hello

(2)一个参数

fn2 = lambda a: a ** 2
print(fn2(5))       #25

(3)默认参数

fn3 = lambda name, age, gender = '': f'姓名:{name},年龄:{age},性别:{gender}'
print(fn3('sam', 20))           # 姓名:sam,年龄:20,性别:男
print(fn3('sam', 20, ''))      # 姓名:sam,年龄:20,性别:女

(4)不定长参数

fn4 = lambda *args: args
print(fn4(1, 'a', 3.4))     #(1, 'a', 3.4)

fn5 = lambda **kwargs: kwargs
print(fn5(a='A', name='sam', age=20))   #{'a': 'A', 'name': 'sam', 'age': 20}

(5)待判断的lambda

fn6 = lambda a, b: a if a >= b else b
print(fn6(12, -21))     # 12

fn7 = lambda a: print(f'{a}:偶数') if a % 2 == 0 else print(f'{a}:奇数')
fn7(7)      # 7:奇数
fn7(444)    # 444:偶数

 

posted on 2023-04-04 14:58  木去  阅读(84)  评论(0)    收藏  举报