• day13-生成器


    def generator():
        print(1)
        yield 'a'
    rcp = generator()
    print(rcp.__next__())

      只要含有yield关键字的函数都是生成器函数。yield不能和return共用且需要写在函数内。

      生成器函数 : 执行之后会得到一个生成器作为返回值。

    def generator():
        print(1)
        yield 'a'
        print(2)
        yield 'b'
    rcp = generator()
    put = rcp.__next__()
    print(put)
    put = rcp.__next__()
    print(put)

      yield没有结束一个函数,可以连续打印。

    # 产生200个字符串def putStr():    for i in range(200):        yield '我最帅%d'%iput = putStr()for i in put:    print(i)
    
    # 可不可以在两百个字符串中只取五十个,然后再紧接着上一次结束的地方再取五十个呢?def putStr():    for i in range(200):        yield '你最帅%s'%iput = putStr()count = 0for i in put:    print(i)    count += 1    if count >= 50:        breakprint('----------------------')for i in put:    print(i)    count += 1    if count >= 100:        break

      生成器可以生成n个你想要的字符串。

    # 监听文件输入
    def func(filename):
        f = open(filename,encoding='utf-8')
        while True:
            line = f.readline()
            if line.strip():
                yield line
    g = func('file')
    for i in g:
        print(i)

      一个利用监听器实现的监听文件输入操作。

  • 相关阅读:
    centos7物理机a start job is running for dev-mapper-centosx2dhome.device
    jenkins pipeline流水线
    nginx 加载慢 负载均衡不均衡
    山田预发环境发布脚本
    prometheus 监控容器
    maven私服安装使用
    日志清理
    ERROR 1046 (3D000) at line 1: No database selected
    网络工程学习经典书籍推荐
    每日一句
  • 原文地址:https://www.cnblogs.com/missdx/p/10964527.html
Copyright © 2020-2023  润新知