百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python普通函数的参数形式,居然在匿名函数lambda中也支持

off999 2024-10-28 16:47 53 浏览 0 评论

定义

  • 使用关键字lambda的表达式 ,
  • 所谓的匿名 ,也就是没有函数名字,也就不需要def去定义函数 。
  • 匿名函数的参数规则 、返回值都和普通函数是一样的 。

格式

lambda [arg1 [,arg2, ... argN]] : expression

通过以上我们可以将上面的匿名函数总结为 :lambda + 参数列表 + 执行表达式

比如: >>> lambda a,b : a * 10 + b

其中冒号之前的a,b就是参数 ,可以是一个也是可以多个, 也就是上面的参数列表 ;而a * 10 +b 就是这个函数的表达式 ,而这个表达式最终也会作为返回值返回 ,注意:这里不需要return .

>>> x = lambda a, b: a * 10 + b
>>> x(2,3)
23

# 这个匿名函数就相当于:
def x(a,b):
    return a * 10 + b

比较

如果你还是不太理解上面的意思,我们通过一张图来解释它们的关系 。

我们知道,在普通函数的参数有多种表示形式,如位置参数,默认参数,关键字参数以及可变参数 ,那么在lambda是否也支持这样的表示形式呢 ?

实例

在本例中我们就来探究普通函数中的位置参数,默认参数,关键字参数以及可变参数 是否也在lambda中适用。

1.位置参数

# 1. 位置参数
def add1(a,b):
    return a + b

x = lambda a,b : a + b

print("add1函数返回:{}".format(add1(3,5)))
print("匿名函数返回:{}".format(x(3,5)))
print("*" * 30)


#输出结果:
add1函数返回:8
匿名函数返回:8
******************************

#说明 :最基本的位置参数肯定是支持的 。

2.默认参数

# 2.默认参数
def add2(a,b=10):
    return a + b

y = lambda a,b=10 : a+b

print("add2函数默认值赋值返回:{}".format(add2(1,5)))
print("匿名函数默认值赋值返回:{}".format(y(1,5)))
print("*" * 30)
print("add2函数走默认值返回:{}".format(add2(1)))
print("匿名函数走默认值返回:{}".format(y(1)))

#输出结果:
dd2函数默认值赋值返回:6
匿名函数默认值赋值返回:6
******************************
add2函数走默认值返回:11
匿名函数走默认值返回:11

#说明:通过上面的示例可以看到,匿名函数也是支持参数设置默认值的。

3.关键字参数

# 3. 关键字参数
def add3(a,b):
    return a + b

z = lambda a,b : a+b

print("*" * 30)
print("add3为关键字函数返回:{}".format(add3(b='3.6.8',a='python')))
print("匿名函数设置关键字函数返回:{}".format(z(b='3.6.8',a='python')))

#输出结果:
add3为关键字函数返回:python3.6.8
匿名函数设置关键字函数返回:python3.6.8
******************************

#说明:匿名参数也可以按照关键字参数方式进行传递

4.可变参数

# 4.可变化函数
def add4(a,*args):
    return a + sum(args)

zz = lambda a,*args : a + sum(args)

print("*" * 30)
print("add4为可变函数返回:{}".format(add4(1,2,3,4)))
print("匿名函数设置可变函数返回:{}".format(zz(1,2,3,4)))

#输出结果:
add4为可变函数返回:10
匿名函数设置可变函数返回:10
******************************

#说明:匿名函数同样也支持可变化参数的传递

总结

  • lambda是单个表达式,不是一个代码块,所以它只能满足简单函数的使用场景,仅能处理一些简单逻辑,若需要处理复杂逻辑,还的使用普通函数 。
  • 当然如果你函数逻辑本身就简单,使用它会简化代码,同时也不用为了函数重名问题烦恼



相关推荐

电脑怎样激活win10系统(电脑怎么激活window10)
  • 电脑怎样激活win10系统(电脑怎么激活window10)
  • 电脑怎样激活win10系统(电脑怎么激活window10)
  • 电脑怎样激活win10系统(电脑怎么激活window10)
  • 电脑怎样激活win10系统(电脑怎么激活window10)
nvidia旧版本驱动下载(nvidia新版本驱动)
nvidia旧版本驱动下载(nvidia新版本驱动)

没法装,n卡本身不具备装旧版驱动的功能一、首先在本机电脑内鼠标左键双击打开“驱动人生”(若电脑上无此软件,可以在各大软件市场内下载安装)。二、打开驱动人生软件后,点击“立即体检”进行驱动扫描。三、驱动扫描完成后,点击显卡右边的“箭头”打开驱...

2025-12-18 20:51 off999

怎么解开别人的wifi密码(如何解开别人的wifi密码)

别人的无线网络密码是很不容易破解的,如果人家是愿意分享的,可以在手机上下载"Wifi万能钥匙"注册登陆成功后连接其无线wifi1、以现有的技术手段,是没有办法破解WPA的加密方式(现在...

电脑突然关机(电脑突然关机像断电了一样 再也打不开)
电脑突然关机(电脑突然关机像断电了一样 再也打不开)

如果是插电源的电脑开着突然就关机了,可能是线路接触不良或者是没电了,导致的开着就关机了,如果是你的电脑是充电的那一种可能是你的电池的电量用完了或者是电池的线路接触不良导致的开着突然就关机了,你可以排查一下线路。1、如果你使用的是笔记本电脑,...

2025-12-18 19:51 off999

win7重装系统一直反复重启(win7重装系统无限重启)

WIN7的系统装重复了,可以将原安装的系统删除,方法如下:1、如果以前的windows是安装在C盘上的话,点击桌面上的计算机,选中C盘,鼠标右键选择属性;2、点磁盘清理;3、点清理系统文件,点确定;4...

电脑如何格式化sd卡(电脑格式化sd卡,提示写有保护)

要在电脑上格式化SD卡,可以按照以下步骤:1.将SD卡插入计算机的SD卡读卡器中。2.打开“我的电脑”或“此电脑”,找到SD卡在计算机上的驱动器号(比如E盘)。3.右键单击SD卡驱动器,选择“格...

系统检测不到机械硬盘(系统检测不到机械硬盘怎么办)

第一,我们需要确认一下机械硬盘是否连接正常。可以检查一下硬盘的电源线和数据线是否插紧,是否松动或者断开。如果发现有松动或者断开的情况,可以重新插上并确保插紧。如果硬盘连接正常,但电脑仍然无法读取,那么...

路由器管理平台登录(路由器管理平台登录网址)

路由器的用户登录入口地址是:tplogin.cn电信运营商定制款登录地址是:192.168.2.1或者192.168.8.12、华为(容易)路由器华为路由器跟荣耀路由器只有IP地址,没有域名,它是...

directx修复(DirectX修复工具官网下载)

使用DirectX修复工具很简单。首先需要下载并安装工具,然后打开工具并按照界面提示进行操作即可。工具的作用是自动检测系统中可能存在的DirectX问题,并尝试修复它们,从而保证计算机游戏等应用程序的...

网易邮箱app官方下载安装(网易邮箱163)
网易邮箱app官方下载安装(网易邮箱163)

有些东西调用外部下载软件(如迅雷)是无法下载的,有时下载后不能正常打开,请尝试:在所要下载的文件上点击右键,选择“目标另存为”,也许就能成功下载。下载从网易163邮箱发来的云附件的步骤如下:1.成功登录网易邮箱后,我们点击页面左上角的“收件...

2025-12-18 16:51 off999

产品密钥是什么意思(产品密钥有什么用处)

产品密钥是产品授权的证明,有了它才能使用这个产品。软件商在生产自己产品时,为每个产品输入一个序列号(注册号/密钥),如“KH2J9-PC326-T44D4-39H6V-TVPBY”,用户要通过这个序列...

电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
电脑打不开一直重启(电脑打不开一直重启黑屏)

电脑一直反复启动的原因和解决方法有以下几点:1、电脑内存问题,可以尝试更换内存条。2、电脑主板问题,给主板放电即可。3、硬盘模式有误,更改回正确模式即可。4、硬盘驱动有更改,把刚安装的驱动卸载就可进入...

win7 自动关机(win7自动关机设置)

具体解决方法/步骤如下:1、首先先摸一下主机箱,看看是不是很烫,打开机箱盖,看看主机电源和CPU散热器是不是不转了,一般电脑如果温度过高的话,硬件会开启保护措施,会自动关机,如果风扇不转了,建议立即更...

绿茶软件园官网(下载绿茶软件园)

就是,广告满天飞,评论都是刷的。

取消回复欢迎 发表评论: