千锋教育-做有情怀、有良心、有品质的职业教育机构

python生成器函数

来源:千锋教育
发布时间:2023-11-07 10:22:20
分享

为什么叫生成器函数?因为它随着时间的推移生成了一个数值队列。一般的函数在执行完毕之后会返回一个值然后退出,但是生成器函数会自动挂起,然后重新拾起急需执行,他会利用yield关键字关起函数,给调用者返回一个值,同时保留了当前的足够多的状态,可以使函数继续执行,生成器和迭代协议是密切相关的,迭代器都有一个__next__()__成员方法,这个方法要么返回迭代的下一项,要买引起异常结束迭代。

#函数有了yield之后,函数名+()就变成了生成器

#return在生成器中代表生成器的中止,直接报错

#next的作用是唤醒并继续执行

#send的作用是唤醒并继续执行,发送一个信息到生成器内部

'''生成器'''

defcreate_counter(n):

print("create_counter")

whileTrue:

yieldn

print("incrementn")

n+=1

gen=create_counter(2)

print(gen)

print(next(gen))

print(next(gen))

结果:

create_counter

2

incrementn

3

Processfinishedwithexitcode0

以上内容为大家介绍了python生成器函数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/


声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python k-近邻算法的优缺点 优点pythonk-近邻算法简单,易于理解,易于实现,无需参数估计,无需训练,即可以用来做分类也可以用来做回归和朴素贝叶斯算法比,对数据没有假设,准确度高,对异常值不敏感(个别噪音数据对结果的影响不是
  • Python k-近邻算法的实现原理 1.KNN算法流程步骤(1)收集数据:可以使用任何方法。包括爬虫,或者第三方提供的免费或收费数据(2)准备数据:距离计算所需要的数值,最好是结构化的数据格式(计算测试数据与各个训练数据之间的距离)(3
  • Python k-近邻算法常见问题 1,K值设定为多大?K太小,分类结果易受噪声点影响;K太大,近邻中又可能包含太多的其他类别的点。(对距离加权,可以降低K值设定的影响)K值通常是采用交叉检验来确定经验规则:K一般低于训练样本数的平方根
  • 基于 Python K-近邻算法的手写识别系统 这里我们一步步的构造使用k-近邻分类器的手写识别系统,为了简单起见,这里构造的系统只能识别数字0到9,参考图2-6,需要识别的数字已经使用图形处理软件,处理成具有相同的色彩和大小:宽高是32像素*32
  • python socket网络编程之粘包问题详解 粘包问题详情1、只有TCP有粘包现象,UDP永远不会粘包你的程序实际上无权直接操作网卡的,你操作网卡都是通过操作系统给用户程序暴露出来的接口,那每次你的程序要给远程发数据时,其实是先把数据从用户态co
  • Python中关于OPP的常用术语 1抽象/实现抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于绘程序结构,从而实现这种模型。抽象不仅包括这种模型的数据属性,还定义了这些数据的接口。对某种抽象的实现就是