不知道大家有没有想过:为什么java一直到jdk8才推出lambda表达式 而python很早就有!
事实上。Python设计上函数就是一个对象,作为一门OO语言它要比Java纯粹得多,Java这种不写成类就不是对象的傻缺设计和它的废物委员会就是导致lambda表达式延迟的原因。对Python来说lambda仅仅是一个能嵌入表达式的函数定义语法而已,嵌套定义和闭包的功能具名函数也是有的。
事实上,关于lambda在Python社区是存在争议的。Python程序员对于到底要不要使用lambda意见不一致。
支持方认为使用lambda编写的代码更紧凑,更“pythonic”。
反对方认为,lambda函数能够支持的功能十分有限,其不支持多分支程序if...elif...else...和异常处理程序try ...except...。并且,lambda函数的功能被隐藏,对于编写代码之外的人员来说,理解lambda代码需要耗费一定的理解成本。他们认为,使用for循环等来替代lambda是一种更加直白的编码风格。
关于lambda的争执没有定论。在实际中,是否使用lambda编程取决于程序员的个人喜好。
最后小编多说一句!小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。