看一个例子:
def get_square(n):
for i in range(n):
yield pow(i, 2)
a = get_square(10)
print(a)
for i in a:
print(i, end=', ')
print('n再次打印')
for i in a:
print(i, end=', ')
输出结果:
<generator object get_square at 0x000001C9D90A9620>
0, 1, 4, 9, 16, 25, 36, 49, 64, 81,
再次打印
可以看到,a被迭代了一次以后,不在有内容输出,个人理解生成器这个东西是生成并在使用了完以后,就被清空,有利于减少内存的占用
最后
以上就是傻傻玫瑰最近收集整理的关于理解python生成器yield的全部内容,更多相关理解python生成器yield内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复