① python中yield和return究竟有什麼區別,怎麼用
yield
yield是用於生成器。什麼是生成器,你可以通俗的認為,在一個函數中,使用了yield來代替return的位置的函數,就是生成器。它不同於函數的使用方法是:函數使用return來進行返回值,每調用一次,返回一個新加工好的數據返回給你;yield不同,它會在調用生成器的時候,把數據生成object,然後當你需要用的時候,要用next()方法來取,同時不可逆。你可以通俗的叫它"輪轉容器",可用現實的一種實物來理解:水車,先yield來裝入數據、產出generator object、使用next()來釋放;好比水車轉動後,車輪上的水槽裝入水,隨著輪子轉動,被轉到下面的水槽就能將水送入水道中流入田裡。
def func3():
for i in range(1,5):
yield i#裝入
gob = func3()#generator 類型
print next(gob)#1 釋放的第一個裝入的數據,(先入先出)
print next(gob)#2
print next(gob)#3
print next(gob)#4
print next(gob)#報錯
復制代碼
return
這個大家都知道了,一句話,return既可以終止函數的執行,也可以返回函數加工處理好的數據,只是這個數據需要一個載體來進行保存,通常是變數。非條件判斷的時候,只要遇見return,函數就結束執行。
② 如何理解ES6的yield
這個出處是Bond Equivalent Yield。以下文字摘自法博齊的Bond Markets, Analysis and Strategies.
For a semiannual pay bond, doubling the periodic interest rate or discount rate gives the yield to maturity. However, recall from our discussion of annualizing yields that doubling the periodic interest rate understates the effective annual yield. Despite this, the market convention is to compute the yield to maturity by doubling the periodic interest rate. the yield to maturity computed on the basis of this market convention is called the bond-equivalent yield.
這里我解釋一下:
1、美國國債有很多是半年付息一次的,一年之內要付兩次利息,這和中國不一樣,中國是年付息;
2、計算美國國債的到期收益率,如果10年期,需要做20個現金流貼現,令貼現和等於債券交易價格。這是因為一年付息兩次,這個如果不能理解,建議回去惡補;
3、通過插值、試錯、或者excel的單變數求解,我不管你什麼辦法,你會算出一個貼現率恰好使貼現和等於價格對不。這個貼現率是半年利率,現在需要把這個半年的利率予以年化轉換為年收益率。
OK,現在問題來了,怎麼年化。嚴格的數學方法是計算復利,因為你的利息是可以再投資的,所以年化收益率是(1+r)的平方後減一,這是復利年收益率。這個在英文里叫做有效收益率effective annual yield.
根據法博齊的教材,美國市場傳統上是把這個半年收益率簡單乘以2得到年化收益率。這是所謂的傳統,原文是convention。想想看美國收銀員收六毛你給他一塊一,他會先還給你一毛然後從櫃台里再找4毛錢的美國人吧,有這個傳統不奇怪。這個傳統的用貳去乘的半年收益率之後的結果就是bond equivalent yield!
EAY和BEY是很重要的概念區別,一定要認清。我不知道我這么解釋,夠不夠清楚?
③ yield是什麼函數
yield[英][ji:ld][美][jild]
vt.屈服,投降; 生產; 獲利; 不再反對;
vi.放棄,屈服; 生利; 退讓,退位;
n.產量,產額; 投資的收益; 屈服,擊穿; 產品;
第三人稱單數:yields過去分詞:yielded復數:yields現在進行時:yielding過去式:yielded
網路釋義
Yield的功能將控制權轉移給其它圖形對象,包括非PowerBuilder對象。該函數檢測消息隊列,如果有消息,就把消息取出。利用該函數可以在執行耗時較長的操作時把控制權轉讓給其它應用。
例句:
1.
Its yield is often used to set interest rates on mortgages and other loans.
美國國債收益率經常用作抵押貸款和其他消費貸款的基準利率。
祝你英語學習成功!
~~~~~~~~~~~~~~~~~~~~~
如有疑問請繼續追問,望採納,謝謝,您的採納是我的力量!