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,除外)

  • 相关阅读:
    MVC中使用AuthorizeAttribute做身份验证操作
    Entity Framework 5.0 Code First全面学习
    AngularJs学习教程
    安装完Oracle数据库,给scott账户解锁方法
    Signalr学习教程
    javascript学习教程【Qi Fei】
    并行开发
    MongoDB教程【一】
    统计学习概念
    自学Python的点滴
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10099128.html
Copyright © 2011-2022 走看看