zoukankan      html  css  js  c++  java
  • 19-3-15Python中闭包,迭代器,递归

    函数名的使用

           函数名可以当作值赋值给变量

           函数名可以当作元素放到容器里

    闭包

    1. 一个嵌套函数
    2. 在嵌套函数内的函数使用外部(非全局的变量)

    满足以上两条就是闭包

    python中闭包,会进行内存驻留,普通函数执行完成后就销毁了。

    闭包的作用:

    1. 解决全局里存放会有污染和不安全的现象
    2. 面试必问,装饰器—装饰器的本质就是闭包

    闭包的弊端:会出现内存溢出

    迭代器

           可以被for的就是可迭代对象

           Python协议

           具有._iter_方法的就是可迭代对象

           a=对象._iter_:     创建一个迭代器

           判断迭代器的方法:

                         具有__iter__和__next__就是一个迭代器

           迭代器特性:

                  惰性机制:每__next__一次取一个值

                  不能从下向上走

                  一次性的,用完就没了

    递归

    1. 自己调用自己
    2. 有明确结束条件

    超出了递归的最大层次

    官方默认层次,官方说明1000,实际998/997

    递归的应用场景:

            在不明确要循环的次数时候,可以用递归

            递归操作文件目录

  • 相关阅读:
    UART协议
    芯片时钟体系(take example as s3c2440)
    PCIe协议
    I2C协议
    SPI协议
    嵌入式相关术语列表
    TreeView控件数据绑定之:数据库数据递归绑定
    连接SQL Server 数据库的三种方式
    JS小功能之:五角星评论
    MVC学习之开发技巧总结(1)
  • 原文地址:https://www.cnblogs.com/1oo88/p/10537027.html
Copyright © 2011-2022 走看看