return:函数执行的终止
yield :函数执行的暂停
def func01():
a = 1
yield a
b = 'Hello'
yield b
c = [1,2]
yield c
d = (1,23,1)
yield d
e = {'32',2,3}
yield e
f = {'a':123,'b':'uzi'}
yield f
if __name__ == '__main__':
#获取方式:1、__next__ 2、for 循环
gen = func01()
# print(gen.__next__())
for i in gen:
print('iii:',i)
输出结果:
iii: 1
iii: Hello
iii: [1, 2]
iii: (1, 23, 1)
iii: {'32', 2, 3}
iii: 1
iii: Hello
iii: [1, 2]
iii: (1, 23, 1)
iii: {'32', 2, 3}
iii: {'a': 123, 'b': 'uzi'}