第九节 函数2

递归函数

  • 自定义函数中,调用自身的函数称为递归函数;
  • 常见的递归:阶乘、斐波那契数列(Fibonacci sequence)
    递归函数

内置函数中常用函数

  • range(start,stop,step)
    数组序列生成器,左闭右开,可设定步长。默认初始值为0,步长为1。
    range()range()
  • zip()
    zip本意指拉链,即将几组序列数据中的元素一一对应匹配连接,生成的结果为一对对元组数据。
    zip()
  • map(func,*interable) 对可迭代对象中的每一个元素以此做func函数运算。(重点、必会)
  • filter() 过滤器运算
    过滤器

匿名函数

  • lambda *args:func_return
    没有函数名称,解决临时下的函数运算需求。
  • 可以将匿名函数赋值给一个变量(这样变量就成了函数名);再用该变量调用函数。
    lambda

高阶函数

  • 函数名可作为参数传入;
  • 函数名可作为返回值。
    有以上两个特征的函数才是高阶函数。

闭包&装饰器

  • 闭包需满足三个特征:
    • 一个外函数中定义一个内函数;
    • 内函数中使用了外函数的变量
    • 外函数的返回值是内函数的引用
  • 装饰器:一种语法糖,主要用于在函数或类的基础上添加一些可重用的额外功能。装饰器满足了函数的封闭与开放原则。在不改变原代码的情况下为函数添加新功能。
    闭包&装饰器### 推导式
  • 列表推导式

[out_exp for out_exp in input_exp]
[out_exp for out_exp in input_exp if out_exp_condition]

  • 字典推导式
  • 集合推导式
    推导式- 迭代器
    • 可迭代对象 iterable
      • str, list, tuple,set,dict
      • generator 生成器和yield 生成器函数,也是可迭代对象。
      • 判断是否可迭代:1 是否内置有__iter__方法;2 isinstance(obj,iterable)
    • 迭代器 iterator
      • 是否有内置的__next__()方法;
from collections import iterable
from collections import iterator
  • 生成器 (懂太少,先占个位吧)
    • 在python中一边计算、一边循环的机制,称为生成器。
    • 创建生成器
      • 生成器表达式来源于迭代和列表解析的组合,生成器和列表解析类似,但是它使用()而不是[]。 生成器

      • 生成器函数。yield 生成器

yield 是将函数变成生成器的关键词,将值返回到next()。在遇到下一个next()的时候,会接着上一次执行的代码继续执行。
send() 和next()一样,都能让生成器继续执行,遇到yield返回,但send() 能传一个值,这个值为yield表达式的整体结果。
【完】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值