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

    递归的应用场景:

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

            递归操作文件目录

  • 相关阅读:
    python 函数2
    数据结构----栈
    python 函数
    数据结构----队列
    python 数据类型_字典和集合
    python 数据类型_数组和元组
    python 数据类型_整数_浮点数
    数据结构----链表
    laravel5.5 自带的忘记密码邮箱找回功能小记
    laravel5.5使用sendCloud邮件服务
  • 原文地址:https://www.cnblogs.com/1oo88/p/10537027.html
Copyright © 2011-2022 走看看