zoukankan      html  css  js  c++  java
  • 内层函数对外层变量(非全局变量)的引用

    闭包

    什么是闭包?

    闭包就是内层函数对外层函数的变量的引用

    我们使用__closure__来检测函数是否闭包,使用函数名__closure__返回东西就是闭包,返回None就不是闭包

    那么如何在函数外边调用内部函数呢?

    使用闭包的好处:

     使变量常驻内存(保证变量不会消亡)

    迭代器

    什么是迭代器?

    遵循可迭代协议的对象

     

    我们偶尔会碰到这样的报错信息,注意看---->'int' object is not iterable.翻译过来就是整数类型对象是不可迭代的,iterable表示可迭代的,表示可迭代协议,那么如何进行验证数据类型是否符合可迭代协议,我们可以通过dir函数来产看类中定义好的所有方法.

    我们试着打印这句话:

    在打印结果中,我们试着寻找__iter__,如果能找到,那么这个类的对象就是可迭代对象

    接着我们继续实验以下类型的数据.

    我们发现这些数据类型里面全部都有__iter__,那么这就意味着它们全部遵循可迭代协议

    那么我们可以确定的是,只要里面包含__iter__的就是可迭代的

  • 相关阅读:
    socket选项设置
    shell 备忘录
    VIM中cscope和tags数据库的添加
    MFC程序设计中的BeginPaint/EndPaint和GetDC/ReleaseDC的使用
    shell 命令行参数解析
    do{...}while(0)用法总结
    0长度数组的使用
    在线帮助文档
    GCC编译器帮助文档
    几款优秀的Linux基准测试工具
  • 原文地址:https://www.cnblogs.com/ALADL/p/9325402.html
Copyright © 2011-2022 走看看