看一个例子:
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代码示例,详细解析了生成器的工作原理及其优势。生成器能够有效地节省内存资源,在迭代过程中只在需要时生成数据,避免了一次性创建大量数据的开销。
426

被折叠的 条评论
为什么被折叠?



