生成器

一、何为生成器?

与列表解析较为相似,不过它并不是创建一个数字列表,而是返回一个生成器,当生成器计算出一个条码后,把这个条目“产生”(yield)出来,本质是使用了“延迟计算”。

二、特点

  • 它是一个函数,并且能保留参数;
  • 所用的参数都是为第一次所保留下的;
  • 语言简洁,方便阅读代码;
  • 节约服务器内存。

三、样例

 1 def cash_money(amount):
 2     while amount >0:
 3         amount -= 100
 4         yield 200
 5         print('余额:%s' % (amount))
 6 
 7 atm = cash_money(500)
 8 print(atm.__next__())
 9 print('1122')
10 print(atm.__next__())
11 print(atm.__next__())
yield

 

posted @ 2016-02-17 11:59  Jef-J  阅读(180)  评论(0编辑  收藏  举报