zoukankan      html  css  js  c++  java
  • python中yield的用法-简单明了!

    我也要吐槽一下,网上搜了不少yield的用法,看得一头雾水,直到我看到这篇文章https://blog.csdn.net/mieleizhi0522/article/details/82142856/,豁然开朗!

    我也仿照博文写了下例子:

    def demo():
    print("开始执行...")
    while 1:
    res = yield '这是返回值'
    print("res:",res)
    d1 = demo()
    print(d1)
    print(next(d1))
    print("*"*20)
    print(next(d1))

    执行结果如下:

    开始执行...
    这是返回值
    ********************
    res: None
    这是返回值

    代码解释,个人理解,说得不对希望能够点出:

    d1 = demo();生成一个对象,不会输出任何内容

    print(d1); 这里不输入任何内容,因为程序第一次遇到yield就暂停了,即使yield前面有输出语句,一样给输出

    print(next(d1)); 程序会接着yield继续执行,第二次遇到yield,return“这是返回值”,加起来就会会输出开始执行...
    这是返回值

    print(next(d1));再次执行next(d1),相当于第三遇到yield,因为上一步相当于被return,res并没有赋值,所以为None,继续执行while,第四次遇到yield,输出“这是返回值”

     

    每天进步一点点!
  • 相关阅读:
    wowjs
    权限组件的判断
    跨域
    Github DNS解析失败怎么办?
    GraceUI
    ant vue 组件 cascader 封装地址联动选择器
    js 防抖节流
    SCSS 的基本使用
    使用 nuxt 开发网站 之 如何做国际化?
    使用 nuxt 开发网站 之 如何展示子页面?
  • 原文地址:https://www.cnblogs.com/qianjunjun/p/13378600.html
Copyright © 2011-2022 走看看