• 生成器


    """
    生成器:
    首先要了解生成器的  关键单词   yield
    然后就是生成器 就是用户自己定义的迭代器    所以本质上还是迭代器
    例子:      """
    def func():
        print("iter")
        yield 111
        print("next")
        yield 222
        print("iter")
        yield 333
        print("next")
        yield
    """
    yield   后面跟的值就是调用了迭代器,__next__方法,你所得到的值
    yield 既可以返回一个值也可以返回多个值 并且多个值也是按照元组的形式返回的
    """
    g=func()  #  g 现在等于func 只要g加了括号那么就是调用了上面func这个函数
    print(g)   #没有加括号的就等于是函数的内存地址
    print(g.__next__())
    print(g.__next__())
    #结果:iter
    #     111
    #     next
    #     222
    #这个结果就说明  每一次他都会停yield那里 
    """在不使用range的情况下
    for i in range(1,10,2)
        print(i)
        做到和上面一样的结果
    """
    def func(start,end,step):
        while start<end:
            yield start
            start +=step
    for i in func(1,10,2):
        print(i)
  • 相关阅读:
    编程之美-2.18 数组分割
    话题模型
    暂时跳过的Leetcode题目
    LDA主题模型
    二叉树非递归的统一实现
    取余和取模运算
    IDM非补丁破解方法
    两种建立堆的方法HeapInsert & Heapify
    非阻塞connect:Web客户程序
    非阻塞connect
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/11190936.html
Copyright © 2020-2023  润新知