產量用於發電機。什麽是發電機?妳壹般可以認為在函數中使用yield而不是return的函數就是生成器。它和函數的不同之處在於,函數使用return返回值,每次被調用都返回壹個新處理的數據給妳;Yield就不壹樣了,它會在調用生成器的時候把數據生成為壹個對象,然後在妳需要的時候用next()方法獲取,而且是不可逆的。妳可以通俗地稱之為“旋轉容器”,可以理解為壹個真實的對象:水車,它首先屈服於加載數據,產生壹個生成器對象,用next()釋放它;比如水車轉動後,輪子上的水箱就裝滿了水。隨著輪子的轉動,它被轉移到下面的水箱,將水送入水道,流入田間。
定義函數3():
對於範圍內的I(1.5):
產生i#負載
gob = func 3()#生成器類型
打印下壹個(gob)#1釋放第壹個加載的數據(先進先出)
打印下壹個(gob)#2
打印下壹個(gob)#3
打印下壹個(gob)#4
打印下壹個(gob)#報告錯誤。
復制代碼
返回
這個大家都知道。總之,return可以終止函數的執行,返回函數處理的數據,但是這個數據需要壹個載體來保存,通常是壹個變量。無條件判斷,只要滿足返回,函數就結束執行。