吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2019|回复: 7
收起左侧

[Python 转载] 【笔记】lambda表达式和匿名函数、eval()函数

[复制链接]
cccyyys 发表于 2021-6-18 09:29
lambda表达式和匿名函数
lambda表达式可以用来声明匿名函数。lambda函数是一种简单的、在同一行中定义函数的方法,实际是生成了一个函数对象。
lambda表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。
基本语法:lambda arg1,arg2,arg3...  :<表达式>    arg1,arg2,arg3相当于形参,<表达式>相当于函数体。运算结果为表达式的运算结果。
[Python] 纯文本查看 复制代码
#lambda表达式和匿名函数
f = lambda a,b,c:a+b+c
print(f(1,2,3))
g = [lambda a:a*2,lambda b:b*3,lambda c:c*4]
print(g[0](5),g[1](2),g[2](4))

eval()函数
功能:将字符串str当成有效的表达式来求值并返回计算结果。
语法:eval(source[,globals[,locals]])->value
source:一个Python表达式或者complie()返回的代码对象
globals:可选,必须是dictionary。
locals:可选,任意映射对象。
[Python] 纯文本查看 复制代码
#eval()函数
s = 'print("abcde")'
eval(s)

a = 10
b = 20
eval('print(a+b)')

dict1 = dict(a=100,b=200) #用dict1中a,b计算
d = eval('a+b',dict1)
print(d)

最后一个eval()函数中的a,b使用的是字典dict1中的数据,这是使用语法中的source[,globals[,locals]]实现的,可以自主选择使用的数据源。

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
在线小学生 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

nappywu 发表于 2021-6-18 09:45
这个没什么难度吧?
头像被屏蔽
mokson 发表于 2021-6-18 09:52
璐璐诺 发表于 2021-6-18 10:49
在线小学生 发表于 2021-6-18 15:17
d = eval('a+b',dict1)
这个有点意思啊。学习了。
sxxstc 发表于 2021-6-18 16:23
匿名函数,复习一下
 楼主| cccyyys 发表于 2021-6-18 19:09
在线小学生 发表于 2021-6-18 15:17
d = eval('a+b',dict1)
这个有点意思啊。学习了。

哈哈,其实原理不是太明白,看视频是这么写的,这个dict1是相当于语法里面的globals还是locals?
wanshiz 发表于 2021-6-19 07:30
感谢楼主分享Python的内容。有些巧妙的写法没有见过就不知道。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 17:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表