【笔记】lambda表达式和匿名函数、eval()函数
lambda表达式和匿名函数lambda表达式可以用来声明匿名函数。lambda函数是一种简单的、在同一行中定义函数的方法,实际是生成了一个函数对象。
lambda表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。
基本语法:lambda arg1,arg2,arg3...:<表达式> arg1,arg2,arg3相当于形参,<表达式>相当于函数体。运算结果为表达式的运算结果。
#lambda表达式和匿名函数
f = lambda a,b,c:a+b+c
print(f(1,2,3))
g =
print(g(5),g(2),g(4))
eval()函数
功能:将字符串str当成有效的表达式来求值并返回计算结果。
语法:eval(source[,globals[,locals]])->value
source:一个Python表达式或者complie()返回的代码对象
globals:可选,必须是dictionary。
locals:可选,任意映射对象。
#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]]实现的,可以自主选择使用的数据源。 这个没什么难度吧? 祝你前程似锦{:301_993:} d = eval('a+b',dict1)
这个有点意思啊。学习了。 匿名函数,复习一下 在线小学生 发表于 2021-6-18 15:17
d = eval('a+b',dict1)
这个有点意思啊。学习了。
哈哈,其实原理不是太明白,看视频是这么写的,这个dict1是相当于语法里面的globals还是locals? 感谢楼主分享Python的内容。有些巧妙的写法没有见过就不知道。
页:
[1]