生成器
一、何为生成器?
与列表解析较为相似,不过它并不是创建一个数字列表,而是返回一个生成器,当生成器计算出一个条码后,把这个条目“产生”(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__())