zoukankan      html  css  js  c++  java
  • 函数生成器中的yield和sign的使用

    # *_*coding:utf-8_*_
    def range2(n):
        count = 0
        while count < n:
            count = count + 1
            sign = yield count  # return
            if sign == 'stop':
                print('---stop---', sign)
                # break
                # return '已经循环结束'
    
            print('---sign---', sign)
        return '已经循环结束'
    
    
    
    new_range = range2(8)  # 函数range2(6)直接作为生成器,必须赋值给变量,让变量变为生成器
    print('你好啊next(new_range1)', next(new_range))
    print('你好啊next(new_range2)', next(new_range))
    print('你好啊next(new_range3)', next(new_range))
    print('你好啊next(new_range4)', next(new_range))
    print('你好啊next(new_range5)', next(new_range))
    new_range.send(1)
    new_range.send('stop')
    输出:
    你好啊next(new_range1) 1
    ---sign--- None
    你好啊next(new_range2) 2
    ---sign--- None
    你好啊next(new_range3) 3
    ---sign--- None
    你好啊next(new_range4) 4
    ---sign--- None
    你好啊next(new_range5) 5
    ---sign--- 1
    ---stop--- stop
    ---sign--- stop
    
    
    -------------------------------------------
    for i in new_range:
        print('这是i:',i)
    输出:
    这是i: 1
    ---sign--- None
    这是i: 2
    ---sign--- None
    这是i: 3
    ---sign--- None
    这是i: 4
    ---sign--- None
    这是i: 5
    ---sign--- None
    这是i: 6
    ---sign--- None
    
    写入自己的博客中才能记得长久
  • 相关阅读:
    333333
    钢镚儿冲刺一周期第六天
    钢镚儿冲刺一周期第五天
    钢镚儿冲刺一周期第四天
    钢镚儿冲刺一周期第三天
    钢镚儿冲刺一周期第二天
    钢镚儿冲刺一周期第一天
    软件工程第九周总结
    CVPR论文的爬取
    构建之法读后感第五
  • 原文地址:https://www.cnblogs.com/heris/p/14068599.html
Copyright © 2011-2022 走看看