zoukankan      html  css  js  c++  java
  • day11 第一类对象 闭包 迭代器

    今日主要内容:

    1 . 第一类对象 -->函数名--> 变量名

    2. 闭包 -->函数的嵌套

    3. 迭代器 --> 固定的思想 for 循环

    第一类对象  :

     函数对象介意向变量一样进行赋值

    还可以作为列表的元素进行使用

    还可以作为返回值返回

    可以作为参数进行传参

    闭包 :

    内层函数对外层函数的变量的使用

    闭包  的优点:

     1.可以保护函数不被外界侵害

    2 . 让一个变量常驻内存

    如何通过函数查看一个闭包:

    __closure__: 有东西就是闭包,没东西就不是闭包

    迭代器 :

    如果一个函数中有__iter__函数表示这个数据是可迭代的

    dir(数据):返回这个数据可以执行所有的操作

    判断迭代器和可迭代对象的方案(野路子):

    如果一个函数内部只有__iters__这就是只是可迭代对象

    如果 一个函数内部 既有__iters__还有 __next__ 这个就是迭代器

    判断迭代器和可迭代对象的方案(官方)

    form collections import Iterable , Iterator

    isinstance(对象 , Iterable)是否是可迭代的

    isinstance(对象,Iterator)是否是迭代器

    模拟for 循环

    lst=[]

    首先先拿迭代器

    it=lst.__iter__()
    while 1:

      try:

      it.__next__()

      except StopIteration:

        break

    特点:  

        1. 节省内存(主要食是生成器)

       2.惰性机制 

       3.只能向前,不能向后

    作用: 统一了各种数据类型的遍历(int ,bool,除外)

  • 相关阅读:
    【原】webpack--loaders,主要解释为什么需要loaders和注意事项
    【原】通过npm script运行webpack的原理
    原生js深拷贝函数
    git add 添加错文件的撤销方法
    item2 快捷键
    sudo su 和sudo -s的区别
    nvm常用命令
    【雅思】【口语】Describe a product you bought and felt happy
    【雅思】【口语】Help others
    【雅思】【口语】
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10099128.html
Copyright © 2011-2022 走看看