欢迎加入Python学习交流QQ群:535993938 禁止闲聊 ! 名额有限 ! 非喜勿进 !
欢迎加入Python学习交流QQ群:535993938 禁止闲聊 ! 名额有限 ! 非喜勿进 !
生成器是python中一个非常酷的特性,python 2.2中引入后在2.3变成了标准的一部分。它能够让你在许多情况下以一种优雅而又更低内存消耗的方式简化无界(无限)序列相关的操作。
生成器是可以当做iterator使用的特殊函数,它功能的实现依赖于关键字yield,下面是它如何运作一个简单的演示:
>>>def spam():
yield"first"
yield"second"
yield"third"
>>> spam
<function spam at 0x011F32B0>
>>>for x in spam():
print x
first
second
third
>>> gen=spam()
>>> gen
yield"first"
yield"second"
yield"third"
>>> spam
<function spam at 0x011F32B0>
>>>for x in spam():
print x
first
second
third
>>> gen=spam()
>>> gen