zoukankan      html  css  js  c++  java
  • 关于迭代器和生成器

    迭代器和生成器
    迭代器 - 概念 可迭代的/可迭代对象
       什么是协议---python规定的 : 可迭代类型 和 python语言之间的协议
    可迭代协议---内部含有'__iter__'方法的数据类型都是可迭代的
    迭代器协议---内部含有__next__和__iter__方法的变量/值都是迭代器
    迭代器特点:节省内存,惰性运算,一次性取值,只能能按顺序取
    iterable 可迭代的 (整型不可迭代)
    dir()
    用dir函数查看一个数据类型的方法,在这些方法中,带双下划线的方法叫做'魔法方法','双下方法','内置方法'可以调用但是不需要你直接调用
    什么是迭代器?
    iterator 迭代器
    {'__next__','__setstate__','__length_hint__'}
    __length_hint__() 迭代器中有多少个元素
    __setstate__() 控制迭代器从哪开始
    __next__() 从迭代器中取下一个值
    迭代器作用---节省内存,for循环就是利用了迭代器节省内存的特点来对python当中的变量来进行操作
    生成器
    生成器:程序员通过简单的函数就可以实现
    生成器特点:调用之后不执行,需要next来触发这个函数继续向下执行
    def finc():
      print('hello')
      yield 1 #含有yield 生成器函数 停止符(记录符)
    调用生成器函数,而是返回一个生成器(generator)
    所有生成器都是迭代器
  • 相关阅读:
    python装饰器的简单理解
    自动化测试接口大纲
    web测试方法小结----以便于测试用例
    git 路上的拦路虎 了解一下
    python+selenium +unittest生成HTML测试报告
    Ext.js 初识
    Ajax
    JIRA使用
    win10系统注册表基础知识
    Markdown 模式下 代码的折叠与展开
  • 原文地址:https://www.cnblogs.com/qizt/p/9911696.html
Copyright © 2011-2022 走看看