接触python,yield就有点难度啦、都知道包含这个yield的函数就不是普通函数啦。就是一个生成器函数。
类型:
白话,他跟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
截图:【点击查看】
OK
作者:dream_uping