博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数的应用、闭包、迭代器
阅读量:5321 次
发布时间:2019-06-14

本文共 1197 字,大约阅读时间需要 3 分钟。

一、函数的应用(第一类对象)

  函数的命名规则和变量一样

  函数名就是一个变量

  函数名可以作为参数传递给函数

二、闭包

  1.含义:在内层函数中访问外层函数的局部变量

  2.闭包的作用

    1.保护你的变量不受侵害

    2.可以让一个变量常驻内存

  __closurse__  如果是None,则不是闭包

def fun():    a = 10    def inner():        print(a)    return innerret = fun()ret()

  

三、迭代器

  dir(数据类型)  dir查看xx类型的数据可以接收那些方法

  __iter__  获取当前对象的迭代器

  所有的带__iter__可以使用for循环的都是可迭代对象

  可迭代对象可以使用__iter__()来获取迭代器

  迭代器里有__next__()

  迭代器的特点:

    1.只能向前

    2.惰性机制

    3.节省内存(生成器)

   可以通过dir()来判断数据是否是可迭代的,以及数据是否是迭代器

  判断方法:

    from collections import Iterable     # 可迭代对象

    from collections import Iterator    #   迭代器

    isinstance(数据,Iterable)

    isinstance(数据,Iterator)

from collections import Iterable     # 可迭代对象from collections import Iterator    #   迭代器lst = ["aaa", "bbb", "ccc", "ddd", "fff"]print(isinstance(lst,Iterable))    #  Trueprint(isinstance(lst,Iterator))    # False

  

  for循环的内部机制

    1.首先获取到迭代器

    2.使用while循环获取数据

    3. it.__next__()来获取数据

    4.处理异常  

    try:

      xxxx

    except  StopIteration:

      xxx

lst = ["aaa", "bbb", "ccc", "ddd", "fff"]it = lst.__iter__()while 1:    try:        el = it.__next__()        print(el)    except StopIteration:        break

  

转载于:https://www.cnblogs.com/JinMuBaoBao/p/9455478.html

你可能感兴趣的文章
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>
阿里巴巴面试之利用两个int值实现读写锁
查看>>
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>
jequery动态创建form
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
第六次java作业
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
Jenkins执行批处理文件失败
查看>>
深入理解jQuery框架-框架结构
查看>>
[7.14NOIP模拟4]通讯 题解 (Tarjan缩点+贪心)
查看>>
刷水记录
查看>>
疫情控制
查看>>