python中yield的使用

时间:2021-09-05 23:29:38

前言

之前对yield感觉一直没有理解得很好,今天找到了一个挺好的例子,感觉可以帮助理解,就放在这里。

例子及解释

yield说明

yield 的使用方法和 return 类似。不同的是,return 可以返回有效的 Python 对象,而 yield 返回的是一个生成器,函数碰到 return 就直接返回了

例子代码

def fib(n):
a = 1
b = 1
current = 1
while current < n:
yield a
a,b = b,a+b
current = current + 1

fib = fib(10)

for i in fib:
print(i)

print('--------------------')

def fib(n):
a = 1
b = 1
current = 1
while current < n:
a,b = b,a+b
current = current + 1
return a

print(fib(9))

我们可以看一下最后运行出来的结果,可以看到如果使用yield来进行返回,最后可以得到中间计算的每个数值。

python中yield的使用

文艺数学君

最近在文艺数学君上在更新关于应用回归的相关知识点,如最新更新到多元线性回归部分,所以内容的实现会使用spss和mathematica,最新的链接如下:
应用回归分析之多元线性回归(SPSS版本)