函数中return和yield的区别是什么?
函数中遇到return就结束执行;
如果在函数中包含yield关键字,调用函数的返回值则是生成器
1)return
# 理解return关键字的工作原理
def welcome():
while True:
print('step 1')
# 函数中遇到return,函数执行结束,后面的代码不会继续执行
return 'ok'
print('step 2')
result = welcome()
print(result)
没有出现step 2
是因为遇见return
函数就会结束执行
2)yield
# yield(停靠,让步)
def welcome():
while True:
print('step 1')
# 函数中遇到return,函数执行结束,后面的代码不会继续执行
yield 'ok'
print('step 2')
result = welcome()
print(result)
结果显示为生成器