一. 生成器和迭代器
1. 生成器
生成器具有一种生成的能力,它仅仅代表着一种生成的能力,当我们需要使用的时候,才会通过迭代器去生成它。因为他只代表这一种生成的能力,因此,生成器比较节省内存,它一般通过yield来区分生成的位置。通过next来找到下一个位置。
# 当直接去执行genetor函数的时候,会先返回一个1,然后就退出了,因为遇到了yield# 当用一个next之后就会执行2. 然后继续退出# 也就是说yield其实是生成器的一个地址保存机制,只有通过next才会使他的地址指向下一个yielddef genetor():print(1)yield 1print(2)yield 2print(3)yield 3print(4)yield 4obj=genetor() a = obj.__next__() b = obj.__next__() c = obj.__next__() d = obj.__next__()
查看更多关于Python中面向对象的实例教程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did81984