① 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.
美国国债收益率经常用作抵押贷款和其他消费贷款的基准利率。
祝你英语学习成功!
~~~~~~~~~~~~~~~~~~~~~
如有疑问请继续追问,望采纳,谢谢,您的采纳是我的力量!