關(guān)于Python中yield的一些個人見解

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓

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

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓

最近在scrapy爬蟲方面接觸了很多yield,找了很多網(wǎng)上的資料,很多大神都給出了很透徹的理解方法。但是由于我是菜鳥一個,對于一些很專業(yè)的解釋看得似懂非懂。于是乎找了一段代碼,自己在pycharm中一步步調(diào)試,終于弄懂了yield的工作原理。

樣例代碼中定義了兩個方法yield_test以及call,將會在接下來的迭代中調(diào)用。

首先,我們將一個參數(shù)“5”傳進yield_test方法中,代碼將會執(zhí)行到以下步驟。

for i in range(n):

代碼將會生產(chǎn)一個[0,1,2,3,4]的列表,將會在該列表中進行迭代,此時i=0,開始進行迭代

代碼運行到

yield call(i)

時,將會將i=0傳入到 call()方法中,返回一個運算結(jié)果"0"

接下來生成器yield將會執(zhí)行一個類似return的操作,將i=0返回到

        		

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式