导航
  • 报考
  • 备考
  • 政策

报考

备考

复习资料

政策

行业动态

面试|听说你要从事python行业?谈谈匿名函数lambda

环球网校·2019-10-22 09:42:02浏览51 收藏5

请输入下面的图形验证码

提交验证

预约成功

我知道了
摘要 今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题。有很多人在面试的时候都会遇到这样的问题,有面试官希望你来谈谈python匿名函数lambda,今天要说的是匿名函数lambda。

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])mlist(m)[9, 33, 22]

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相关工作面试顺利。

展开剩余
资料下载
历年真题
精选课程
老师直播

注册电脑版

版权所有©环球网校All Rights Reserved