生成器中取值的三种方法
方法1:next()
方法2:for 循环
方法3:数据类型的强制转换
def func(): for i in range(20): yield '赛车*{}'.format(i) ret = func() print(ret.__next__()) for i in ret: print(i) l1 = list(ret) print(l1)
send() 方法
send 获取下一个值得时候给上一个yield位置传递一个数据
def func(): print(1) con = yield 111 print('yield1 的返回值测试:',con) print(2) con2 = yield 222 g = func() ret1 = g.__next__() print(ret1) ret2 = g.send('hello,world') print(ret2)
1 111 yield1 的返回值测试: hello,world 2 222