python语言关键字有哪些_python语言关键字有哪些_python语言关键字有哪些_python语言关键字有哪些_python语言关键字有哪些

时间很长:05-09 文章来源:

老王python

, 标签:

yield

在python中,yield来讲 来讲 的来讲 生成器。 yield 生成器的运行机制: 当 你问生成器要来讲 数时,生成器会执行,一直到到现象 yield 语句,生成器把 yield 的参数给我,后的生成器就没有往下依然运行。 当你问他要下来讲 数时,他会从上次的完美状态 。后的运行,一直到到现象yield语句,把参数给我,后的停下。其实反复 一直到到退出函数。(至少关于其他yield的作出解释,在右边列举来讲 又又简单例子来作出解释这段话)。 yield的使用过: 在python中,当你定义来讲 函数,使用过了yield最最重要 字时,来讲 函数来讲 来讲 生成器,是它执行会和其实普通地的函数有其实各不各不相同,函数返回就是来讲 对象,而没有不是你普通地 所用return语句其实,能能够 结果呢值。也可想重大成效值,那得调用next()函数,如: c = h() #h()包含了yield最最重要 字 #返回值 print c.next() 其实很多for in 以及操作其实没有,会自动的调用生成器的.next()多种方法 。 每当调用两两三次 迭代器的next函数,生成器函数运行到yield这里,返回yield右边的值且在来讲 这里暂停,全部形式的完美状态 基本上 被维持 住,后的下次next函数被调用,也可碰到异常循环退出。 底下,来先就来至少的例子代码吧,是用来讲明yield运行机制的。


#encoding=utf-8

def fib(max):
   a, b = 1, 1
   while a < max:
       yield a #generators return an iterator that returns a stream of values.
       a, b = b, a+b

for n in fib(15):
   print n
 

从底下的运行机制作出解释中,也可获知,程序运行到yield这行时,就没有依然往下执行。没有是返回来讲 包含当前函数全部形式参数的完美状态 的iterator对象。其实来讲 其实两三次 被调用时,也可访问到函数全部形式的参数值来讲 第两两三次 访问时的值,而没有是新的赋值。 程序第两两三次 调用时: yield a #然而a,b值共计为1,1,来讲 ,程序就在执行到这停止同时返回。 程 序两三次 调用时: 从底下可知,第两两三次 调用时,a,b=1,1,其实没有,来讲 两三次 调用时(来讲 来讲 调用第两两三次 返回的iterator对象的next()多种方法 ),程序跳到 yield语句处, 执行a,b = b, a+b语句,然而值变为:a,b = 1, (1+1) => a,b = 1, 2 程序依然while循环,来讲 ,再两两三次 碰后的yield a 语句,来讲 像第两两三次 其实,保存函数全部形式参数的完美状态 ,返回来讲 包含来讲 参数完美状态 的iterator对象。 等待第两三次 的调用。 利用底下的深度分析,也可两两三次 类推的展示了yield的详细运行时间过程了!

★网站部分内容来源网络,如不经意侵犯了您的权益请发送邮件联系我们在36小时内删除★。
本文链接:http://www.quxuepython.com/article/8373.html
上一篇:
上一篇: