python123用户登录_python123用户登录_python123用户登录

时间很长: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/8554.html
上一篇:
上一篇: