lambda

1
2
3
4
5
6
7
8
9
f=lambda a,b,c,d:a*b*c*d
print(f(1,2,3,4))


#相当于下面这个函数

def test01(a,b,c,d):
return a*b*c*d
print(test01(1,2,3,4))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1 print([f(2) for f in [lambda x:i*x for i in range(5)]])
2 print([f(2) for f in [lambda x,i=i:i*x for i in range(5)]])
3 print([(lambda x:i*x)(2) for i in range(5)])


[8, 8, 8, 8, 8]
[0, 2, 4, 6, 8]
[0, 2, 4, 6, 8]


1 先声5个匿名函数 x是匿名函数的变量,i是匿名函数外部的变量,所以会变,用的是最后的i ,最后调用匿名函数
2 先声5个匿名函数 x,i是匿名函数的变量,i的默认值从外部的i传入 ,最后调用匿名函数
3 一边声明 一边调用 x是匿名函数的变量,i是匿名函数外部的变量

Author

Lavine Hu

Posted on

2022-09-12

Updated on

2024-03-23

Licensed under

# Related Post
  1.logging
  2.python内存管理
  3.路径
  4.pandas
  5.
  6.metaclass
  7.unittest
  8.list
Comments

:D 一言句子获取中...