首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

好程序员Python教程之Lambda表达式知识概述

好程序员Python教程之Lambda表达式知识概述,在Python中,除了def之外,还提供了一种生成函数对象的表达式形式,即Lambda表达式,它可以创建小的匿名函数,起到一个函数速写的作用。接下来的好程序员Python学习课程就给大家分享Lambda表达式相关的知识点。

Lambda表达式定义及作用

Lambda表达式是一行的函数,它们在其他语言中也被称为匿名函数,即函数没有具体的名称。如果你不想在程序中对一个函数使用两次,你也许会想用Lambda表达式,它们和普通的函数完全一样。而且当使用函数作为参数的时候,Lambda表达式非常有用,可以让代码简单、简洁。

Lambda与命名函数def的区别

1、def创建的方法是有名称的,而Lambda没有,可以立刻传递(无需变量)。Python Lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量(函数名)。

2、Python Lambda只是一个表达式,而def是一个语句。Lambda表达式运行起来像一个函数,当被调用时创建一个框架对象。Lambda能够出现在Python语法不允许def出现的地方。此外,作为一个表达式,Lambda返回了一个值(一个新的函数),可以选择性的赋值给一个变量名,def语句则是在头部将一个新的函数赋值给一个变量名,而不是将这个函数作为结果返回。

3、Lambda表达式”:“后面,只能有一个表达式,def则可以有多个。Lambda表达式内部只能包含一行代码,而命名函数内对此无限制。Lambda的主体是一个单个的表达式,而不是一个代码块。

4、Lambda可以直接作为Python列表或Python字典的成员,返回Lambda表达式中最后一个表达式的值。

5、Lambda一般用来定义简单的函数,而def可以定义复杂的函数;Lambda函数不能共享给别的程序调用,def可以。因此语句嵌套用def,表达式嵌套用Lambda。

对很多Python程序员来说,Lambda表达式是一种古怪而又陌生的语法。它本身缺少名称和文档,但在使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简,因此很多企业要求Python程序员掌握Lambda表达式。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200210A0BJN900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券