0
点赞
收藏
分享

微信扫一扫

python中yield的认识与学习|生成器


接触python,yield就有点难度啦、都知道包含这个yield的函数就不是普通函数啦。就是一个生成器函数。

类型:<generator object test1 at 0x01D89220>

白话,他跟return的区别就是。他会为用户保留一个断点。return,程序执行一次之后,就会一切重新开始。然而,yield却会在上一次保留一个断点。方便下次使用。

具体,读懂这个简单代码就行啦。

def test1(n):
i = 0
while i <= 5:
i += 1
print('yield测试 n---' + str(i))
yield i**2
def test2(n):
i = 0
while i <= 5:
i += 1
return i**2
def main():
n = 0
for n in test1(5):
print(n)
def tt():
n = 0
while n < 5:
n += 1
print('return测试 n---' + str(n))
t = test2(n)
print(t)
main()
print('\n\n\n')
tt()

结果:

D:\python_install\python.exe D:/pycharmworkspace/temp1/crawler_1.py
yield测试 n---1
1
yield测试 n---2
4
yield测试 n---3
9
yield测试 n---4
16
yield测试 n---5
25
yield测试 n---6
36




return测试 n---1
1
return测试 n---2
1
return测试 n---3
1
return测试 n---4
1
return测试 n---5
1

Process finished with exit code 0

截图:【点击查看】

python中yield的认识与学习|生成器_python-yield

OK 

 

举报

相关推荐

0 条评论