您的位置:首页 > 编程语言 > Python开发

Python(3) yield

2017-01-09 11:42 344 查看
详细分析请移步这里

下附测试代码和结果

计算机初始状态



利用list进行迭代

def fabbylist(max):
n, a, b = 0, 0, 1
list = []
while n < max:
list.append(b)
a, b = b, a + b
n = n + 1
return list
if __name__ == "__main__":
max = 1e9
for i in fabbylist(max):
print i




从htop中可以看出内存占用一下子暴涨很多

利用yield进行迭代

def fabbyyield(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
if __name__ == "__main__":
max = 1e9
for i in fabbyyield(max):
print i




内存的占用变化处于正常范围
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: