yield函數的使用方法
YIELD函數的功能是計算定期支付利息的債券的收益率,使用方法如下:
YIELD函數的語法結構:
YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])
七個參數:
settlement設定有價證券的結算日
maturity設定有價證券的到期日
rate設定有價證券的年息票利率
pr設定有價證券的價格(投資項目的購買價格)
redemption設定有價證券的清償價值
frequency設定有價證券的年付息次數。 如果按年支付,frequency = 1按半年期支付,frequency = 2按季支付,frequency = 4。
basis是可選參數,可有可無。
yield函數是Python中用於生成迭代器的關鍵字,它可以讓你在一個函數中暫停執行並中斷返回一個值給調用者,然後再繼續執行這個函數,在需要的時候再次中斷執行並返回下一個值。
yield函數的使用方法如下:
1.定義一個函數,名字隨意,函數內部含有yield關鍵字。
例如,我們定義一個生成器函數,名字為my_generator,該函數每次調用時都會從1開始依次輸出1、2、3、4、5。
```
def my_generator():
  yield 1
  yield 2
  yield 3
  yield 4
  yield 5
```
2.調用該函數,會返回一個生成器對象,通過生成器對象可以一個一個地獲取生成的值。
```
gen = my_generator() # 調用函數,生成一個生成器對象
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3
print(next(gen)) # 4
print(next(gen)) # 5
print(next(gen)) # StopIteration異常
```
3.使用for循環也可以獲取生成器輸出的值。
```
for item in my_generator():
  print(item) # 依次輸出 1、2、3、4、5
```
需要注意的是,生成器一般用於處理大量數據的情況,生成器不會將所有的數據一次性全部加載到內存中,而是動態生成數據,用多少生成多少,因此比較適合用於大量數據的處理。