更新时间:2022-09-17 15:10:42
比方
def html(): yield 'header' for i in range(5): yield i yield 'footer' h = html()#此时h变量就是一个生成器. for x in h:#遍历生成器 print x怎么理解这个函数呢?
def html(): ret = [] ret.append('header') for i in range(5): ret.append(i) ret.append('footer') return ret能够看到,yield语句没了,全部东西都在ret这个序列.
def A(): print 'hehe' yield 1 yield 2
当我们A()时,并不会print 'hehe',而仅仅有当我们遍历的时候,它才開始运行,从函数体第一行代码直到第一个yield,而后继续往下运行代码到下一个yield,如此下去.
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5118561.html,如需转载请自行联系原作者