python中yield的使用

版权声明:本文为博主原创文章,禁止转载。联系方式:[email protected] https://blog.csdn.net/WMN7Q/article/details/78404748

前言

之前对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版本)

猜你喜欢

转载自blog.csdn.net/WMN7Q/article/details/78404748