python中yield的使用

来源:互联网 发布:java socket长连接心跳 编辑:程序博客网 时间:2024/05/17 23:45

前言

之前对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 + 1fib = 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 aprint(fib(9))

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

python_yield用法

文艺数学君

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

原创粉丝点击