关于Python中yield的一些个人见解

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 i (
    (( i*2 i  yield_test(5(i,)

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

最近在scrapy爬虫方面接触了很多yield,找了很多网上的资料,很多大神都给出了很透彻的理解方法。但是由于我是菜鸟一个,对于一些很专业的解释看得似懂非懂。于是乎找了一段代码,自己在pycharm中一步步调试,终于弄懂了yield的工作原理。

样例代码中定义了两个方法yield_test以及call,将会在接下来的迭代中调用。

首先,我们将一个参数“5”传进yield_test方法中,代码将会执行到以下步骤。

for i in range(n):

代码将会生产一个[0,1,2,3,4]的列表,将会在该列表中进行迭代,此时i=0,开始进行迭代

代码运行到

yield call(i)

时,将会将i=0传入到 call()方法中,返回一个运算结果"0"

接下来生成器yield将会执行一个类似return的操作,将i=0返回到

        		

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式