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)
    所有生成器都是迭代器
  • 相关阅读:
    哈夫曼树及哈夫曼编码
    01背包问题
    Java IO
    Java对象的复制三种方式
    TCP三次握手和四次挥手
    轻量级Java Web框架的实现原理
    Java并发
    消息队列
    赋值、浅拷贝、深拷贝
    Python文件操作(txtxlsxcsv)及os操作
  • 原文地址:https://www.cnblogs.com/qizt/p/9911696.html
Copyright © 2011-2022 走看看