Python中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()函数

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的阶乘


def factorial(n):

    if n == 1:

        return 1
    else:

        return n*factorial(n-1)


res = factorial(4)
print(res)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值