zoukankan      html  css  js  c++  java
  • python之路---11 第一类对象 函数名 闭包 迭代器

    二十九.

      1.函数名的运用

         ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量

       ②函数名是一个内存地址

         ③ 函数名可以赋值给其他变量

       

            ④函数名可以当做容器类的元素

      

          ⑤函数名可以当做函数的参数

          ⑥函数名可以作为函数的返回值

       2.闭包

      闭包就是内层函数, 对外层函数(非全局)的变量的引⽤.

      

    标准的闭包

        ①优点:1).可以保护变量不受侵害

         2),保持一个变量常驻内存

      ②    .__closure__    查看是否是闭包

                      返回 None  就不是闭包

           返回一个地址  是闭包

      ③   在外部调用内部

       1).单层

         2).多层

      

      3.迭代器

         1.一个数据类型中包含了__iter__函数表示这个数据是可迭代的

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

      

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

        __iter__                    Iterable 可迭代的(str, list, tuple, dict, set)

        __iter__   __next__   Iterator 迭代器

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

        借助两个模块  from collections import Iterable, Iterator

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

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

        4.模拟for 循环

      

        5.特征:

        1. 省内存(生成器)
        2. 惰性机制
        3. 只能向前. 不能后退

        作用:统一了各种数据类型的遍历

  • 相关阅读:
    C++中substr函数的用法
    最小生成树-克鲁斯卡尔模板
    最小生成树-prim算法模板
    1064. 朋友数(20)
    1076. Wifi密码 (15)【模拟】
    二分搜索与二分答案
    HDU 1969 Pie【二分】
    1047. 编程团体赛(20)
    1057. 数零壹(20)
    L2-3. 悄悄关注【STL+结构体排序】
  • 原文地址:https://www.cnblogs.com/amirky/p/10211548.html
Copyright © 2011-2022 走看看