Python3-2020-测试开发-15- lambda函数&eval()函数&递归
一、lambda函数
"""lamdba表达式"""
"""
表达式可以用来声明函数,lambda函数是一种简单的,在同一行中定义函数的方法,lambda函数实际生成一个函数对象
lambda表达式只允许包含一个表达式,不能包含复杂语句,表达式的计算结果就是函数的返回值
lambda基本语法如下:
lambda arg1,arg2,arg3...: 表达式
"""
f = lambda a,b,c:a+b+c print(f) print(f(1,2,3)) """ <function <lambda> at 0x0000021570626950> 6 """ g = [lambda a:a*2,lambda b:b*3,lambda c:c*4] print(g[0](2),g[1](3),g[2](4)) # 4 9 16
二、eval()函数
"""eval()函数"""
s = "print('abc')" eval(s) # abc a = 10 b = 20 c = eval("a+b") print(c) # 30 d = dict(a=100,b=200) dd = eval("a+b") ddd = eval("a+b",d) print(dd) # 30 print(ddd) # 300
三、递归函数
定义:函数内部自己调用自己的函数,称为递归函数
例子:
计算一下n的阶乘
"""递归""" """ n的阶乘 """ def factorial(n): if n == 1: return 1 else: return n*factorial(n-1) res = factorial(4) print(res)
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。