python自学篇九[ 函数(四):递归函数+匿名函数+内置函数+高阶函数]

python基础系列:
python自学篇一[ Anaconda3安装 ]
python自学篇二[ pycharm安装及使用 ]
python自学篇三[ 判断语句if的使用 ]
python自学篇四[ 基本数据类型和字符串常用处理 ]
python自学篇五[ 列表 ]
python自学篇六[ 元组 ]
python自学篇七[ 字典+深拷贝与浅拷贝 ]描述
python自学篇八[ 循环:while+for+pass+range()+推导式 ]
python自学篇九[ 函数(一):参数+对象 ]
python自学篇九[ 函数(二):返回值return+yield+迭代器+生成器 ]
python自学篇九[ 函数(三):变量作用域+ATM+5个小练习 ]
python自学篇九[ 函数(四):递归函数+匿名函数+内置函数+高阶函数 ]
python自学篇十[ 面向对象 (一) :面向对象概念+定义类+练习一]
python自学篇十[ 面向对象 (二) :继承+多继承+类属性+实例属性]
python自学篇十[ 面向对象 (三) :访问限制+类方法+静态方法]
python自学篇十[ 面向对象 (四) :王者荣耀小游戏+模拟一个简单的银行进行业务办理的类]
python自学篇十一[ 模块简介+模块制作+dir()函数+标准模块+包]
python自学篇十二[ 文件:打开+读取+写入+3个习题]

递归函数

  • 递归函数:递归就是子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的基本方法。(一句话,自己调用自己)
  • 举例,计算阶乘 n! = 1 * 2 * 3 * … * n,用函数 fact(n)表示,可以看出:
    1! = 1
    2! = 2 × 1 = 2 × 1!
    3! = 3 × 2 × 1 = 3 × 2!
    4! = 4 × 3 × 2 × 1 = 4 × 3!

    n! = n × (n-1)!
  • 同样的,可以把递归看作一场梦,做梦的时候梦到自己在做梦,梦中的自己正在做梦···,或者是镜子里面看见有个镜子,里面有自己,一层一层的。
  • 求阶乘
def factorial(n):
    if n == 1:
        return 1
    else:
        return n*factorial(n-1)

print(factorial(10))

结果:

3628800

匿名函数

  • 定义函数的过程中,没有给定名称的函数就叫做匿名函数;Python中使用lambda表达式来创建匿名函数
lambda 来创建匿名函数规则:
  • lambda只是一个表达式,函数体比def简单很多

  • lambda的主体是一个表达式,而不是一个代码块,所以不能写太多的逻辑进去

  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数

  • lambda定义的函数的返回值就是表达式的返回值,不需要return语句块

  • lambda表达式的主要应用场景就是赋值给变量、作为参数传入其它函数

  • lambda匿名函数的表达式规则是:

lambda [参数列表]: 表达式

例如:

a=lambda :'我爱你'
print(a())

结果:

我爱你
  • 带参数的lambda
s = lambda x: x*2
print(s(3))

结果:

6
  • 多参数lambda
s = lambda x,y: x+y
print(s(3,4)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值