• 生成器函数


    # 生成器的本质就是迭代器
    # 三种创建方法:
    '''
    1.通过生成器函数
    2.通过生成器表达式创建生成器
    3.通过数据转换


    '''

    def func():
    print("我是周杰伦")
    yield "昆凌" # 函数中包含了yield 当前这个函数就不再是普通的函数了,是生成器函数
    print("我是王力宏")
    yield "李云迪"
    print("我是笛卡尔积")
    yield "我是牛顿"
    print("爱因斯坦") # 最后yield之后再进行__next__()函数会报错
    # return 直接返回结果,结束函数的调用
    # yield 返回结果,让函数分段执行

    g = func() # 通过函数func() 来创建一个生成器
    print(g.__next__()) # 周杰伦
    print(g.__next__()) # 王力宏
    print(g.__next__())
    #print(g.__next__())

    注意点:
      函数中包含了yield就是生成器函数
      生成器函数被执行,获取到的是生成器,而不是函数的执行

    取值:
      1.__next__()
      2.send(值)给上一个yield位置传一个值,第一个和组后一个yield不用传值
      3.可以for 循环
      4.转换为列表 list(g)

    各种推导式和生成器表达式
      1.列表推导式 [结果 for 变量 in 可迭代对象 if 筛选]
      2.字典推导式 {结果 for 变量 in 可迭代对象 if 筛选} 结果=>key:value
      3.集合推导式 {结果 for 变量 in 可迭代对象 if 筛选} 结果 key
















  • 相关阅读:
    建设全功能团队
    gwt之mvc4g
    SQLServer代码差异备份
    DateTimePicker选择到秒
    SQL定时备份并删除过期备份
    Div文本垂直居中
    WinForm当前窗口抓图
    web架构设计经验分享(转)
    用yui compressor 压缩 javascirpt脚本
    查看sqlserver连接数
  • 原文地址:https://www.cnblogs.com/yb161/p/9832528.html
Copyright © 2020-2023  润新知