首页 > 编程语言 >python生成器

python生成器

时间:2022-10-25 15:38:00浏览次数:77  
标签:None 函数 python 生成器 yield next send

在 Python 中,使用了 yield 的函数被称为生成器(generator)。在Python中,可以使用生成器来一次返回单个元素,从而可以避免大量占用内存

生成器的send()方法可以往生成器发送一个值并返回生成器生成的下一个值

Send方法会引发一次next()方法的调用,首次执行时不能带参数send(None)

send(None) 的功能是 next() 完全相同,但更推荐使用 next(),不推荐使用 send(None)。

 

当程序在生成器函数中遇到 yield 语句暂停运行时,此时如果调用 close() 方法,会阻止生成器函数继续执行,该函数会在程序停止运行的位置抛出 GeneratorExit 异常。

 

生成器 throw() 方法的功能是,在生成器函数执行暂停处,抛出一个指定的异常,之后程序会继续执行生成器函数中后续的代码,直到遇到下一个 yield 语句。需要注意的是,如果到剩余代码执行完毕没有遇到下一个 yield 语句,则程序会抛出 StopIteration 异常。

 

标签:None,函数,python,生成器,yield,next,send
From: https://www.cnblogs.com/songyunjie/p/16824996.html

相关文章

  • Python3自动化打包项目发布到pypi
    效果D:\Program\Python310\python.exeD:\data\git\PythonLinuxBasicModule\upload.pyC:\Users\刘某usage:twine[-h][--version][--no-color]{register,check,upl......
  • python集合的相关操作
    set1={"1","2","3","4"}set2={"a","b","c","d,"1","2"}一、intersection()交集 res=set1.intersection(set2)print(res)#简写&res=set1&set2prin......
  • python字典相关操作方法
    字典相关函数一、增dic={}dic["ww"]="一表人才,除了帅气的皮囊之外,一无所有"dic['ywz']="渣男"dic["hxl"]="抠脚老汉"print(dic)#fromkeys()使用一组键......
  • 将python2.7项目转为Python3问题记录
    将一个Python2.7开发的测试工具项目转化为Python3。工具:Python自带的2to3.py将所有.py文件进行转化,生成的python3文件为原文件名,python2文件在后面加.bak 1.代码如:b......
  • python列表操作方法
    列表的相关操作(1)列表的拼接(同元组)(2)列表的重复(同元组)(3)列表的切片(同元组)语法=>列表[::]完整格式:[开始索引:结束索引:间隔值](1)[开始索引:]从开......
  • [转载]python跨文件使用全局变量的实现
    python跨文件使用全局变量的实现更新时间:2022-10-2514:46:38发布时间:602天前朗读Python定义了全局变量的特性,使用global关键字修饰1global key_word......
  • python实现证件照排版功能-附代码
    环境要求安装python3环境安装pillow图片处理库开发前准备推荐使用conda创建python环境condacreate-nprpython=3.8#创建环境condaactivatepr#进入环境......
  • Python日志收集
    """1、设置日志的收集级别2、可以将日志输出到文件和控制台3、以下这些方法:info()debug()error()warning()critical()额外拓展:单例模式""......
  • 【Python数据分析】数据的维度、Numpy
    数据的维度一维数据一维数据由对等关系的有序或无序数据构成,采用线性方式组织列表和数组二维数据是由多个一维数据组成,是一维数据的组合形式多维数据由一维或二维数......
  • 安装python的Django时,无法在PyCharm下的terminal进入虚拟环境的问题
    今日将网上他人django源码拉取下来,准备好用anconda工具来新建一个虚拟环境。等环境搭建好之后,打开pycharm发现在terminal中使用无法进入到虚拟环境中。在网上搜索了一番,终......