• 2018年12月24日--生成器


    生成器:理解为一种数据类型,自动实现了迭代器协议(已经包含了__iter__,可以直接用next方法):

    生成器函数:使用yield语句而不是return语句,yield一次返回一个结果,没个结果中间挂起函数状态,以便下次继续执行

    生成器表达式:把列表解析 []改成()就变成生成器表达式,更省内存

    l=[1,2,3,4,5]
    res=l.__iter__().__next__()
    def test():
        yield 1
        yield 2 #相当于return但是能返回多次,生成器函数
        yield 3
    g=test()
    print(g)
    print(g.__next__())
    print(g.__next__())
    print(g.__next__())
    
    print('$'*44)
    
    name='abc'
    res='sb' if name =='sxs' else 'sxj'#三元表达式 如果T则返回sb 如果F 则返回sxj
    print (res)
    
    print('#'*44)
    
    egg=[]
    for i in range(10):
        egg.append("鸡蛋%s"%i)
    print (egg)
    
    print('^'*55)
    #列表解析
    egg2=['鸭蛋%s'%i for i in range(10)]
    egg3=['鸭蛋%s'%i for i in range(10) if i > 5 ]
    print(egg2)
    print(egg3)
    
    print('*'*55)
    
    jiji=('鸟蛋%s'%i for i in range(10))#生成器表达式
    print(jiji)
    print(jiji.__next__())
    print(jiji.__next__())
    print(jiji.__next__())
    print(next(jiji))

    print(sum(i for i in range(101))) #生成器表达式
  • 相关阅读:
    C++ 获取ms级的计时
    基于UDP的IP对IP的客户端程序
    stm32 keil生成bin文件
    xmos 加密
    DMX512程序介绍
    WS2812原理及实现
    MFC 通过按钮调用自对话框 给按钮加载位图 给对话框添加背景
    4*4矩阵键盘FPGA扫描实现
    FIFO
    Modelsim建立UVM环境
  • 原文地址:https://www.cnblogs.com/python1988/p/10171089.html
Copyright © 2020-2023  润新知