预约成功
1、问题:为什么使用匿名函数lambda?
答:运用匿名函数lambda,能让我们的代码更简洁、易读。
2、问题:匿名函数lambda是什么?
答:匿名函数lambda是一个表达式(expression),并不是一个语句(statement).lambda 的主体是只有一行的简单表达式,并不能扩展成一个多行的代码块。
所谓的表达式,就是用一系列“公式”去表达一个东西,比如x + 2、 x**2等等;
而所谓的语句,则一定是完成了某些功能,比如赋值语句x = 1完成了赋值,print 语句print(x)完成了打印,条件语句 if x < 0:完成了选择功能等等。
匿名函数lambda专注于简单的任务,而常规函数则负责更复杂的多行逻辑。
3、问题:匿名函数lambda的应用场景?
答:匿名函数lambda可以结合列表生成式一起使用。
s = [(lambda x: x+1) (x) for x in range(10)]s[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
匿名函数lambda可以和内置函数一起使用,如reduce(), sort(),filter()。
m = filter(lambda x: x >7, [1, 4, 5, 6, 9, 33, 22])m
4、问题:什么是函数式编程?
答: 所谓函数式编程,是指代码中每一块都是不可变的(immutable),都由纯函数(pure function)的形式组成。这里的纯函数,是指函数本身相互独立、互不影响,对于相同的输入,总会有相同的输出,没有任何副作用。
函数式编程的优点,主要在于其纯函数和不可变的特性使程序更加健壮,易于调试(debug)和测试;缺点主要在于限制多,难写。
5、问题:什么是map()?
答:map(function, iterable) 函数,它表示,对 iterable 中的每个元素,都运用 function 这个函数,最后返回一个新的可遍历的集合。结合lambda使用。
map函数,for 循环和 list comprehension,一起创建列表,最终map() 是最快的。因为 map() 函数直接由 C 语言写的,运行时不需要通过 Python 解释器间接调用,并且内部做了诸多优化,所以运行速度最快。
6、问题:什么是filter()?
答: filter(function, iterable) 函数,它和 map 函数类似,function 同样表示一个函数对象。filter() 函数表示对 iterable 中的每个元素,都使用 function 判断,并返回 True 或者 False,最后将返回 True 的元素组成一个新的可遍历的集合。
7、问题:什么是reduse()?
答: reduce(function, iterable) 函数,它通常用来对一个集合做一些累积操作。function 同样是一个函数对象,规定它有两个参数,表示对 iterable 中的每个元素以及上一次调用后的结果,运用 function 进行计算,所以最后返回的是一个单独的数值。
以上就是今天的全部内容了,如果面试的时候有人问你“谈谈匿名函数lambda?”这个问题,小编相信大家应该不会再慌了,如果对于对于实践方面有疑问的同学,可以关注环球网校的其他python内容!环球网校的小编在这里祝大家python相关工作面试顺利。