示例代码如下:
class TestYield: def gen_iterator(self): result_list = [] for j in range(3): print(f"gen_iterator-{j}") result_list.append(j)
return在循环的外部,待变量完全生成后一次性返回
return result_list def call_gen_iterator(self):
执行下边这句后result_list直接是完成的结果[0,1,2]
result_list = self.gen_iterator() for i in result_list: print(f"call_gen_iterator-{i}") if name == “main”: obj = TestYield() obj.call_gen_iterator()
执行结果如下,可以看到一次性执行完下层函数,生成完整的迭代器类型返回值result_list,一次性返回给上层函数:
2 yield版本
示例代码如下:
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’ class TestYield: def gen_iterator(self): for j in range(3): print(f"do_something-{j}")
yield在for循环内部
yield j
def call_gen_iterator(self):
yield并不是直接返回[0,1,2],执行下边这句后result_list什么值都没有
result_list = self.gen_iterator()
i每请求一个数据,才会触发gen_iterator生成一个数据
for i in result_list: print(f"call_gen_iterator-{i}") if name == “main”: obj = TestYield()
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典