Python 真实版的xrange

"""
真实版的Xrange, 并不是一下子生成整个列表list
是你什么时候调用,什么时候产生数据
"""


def xrange(n):
    print("开始执行函数")
    start = 0
    while True:
        if start >= n:
            return
        yield start
        start += 1


obj = xrange(3)
n0 = obj.__next__()
n1 = obj.__next__()
n2 = obj.__next__()
print(n0, n1, n2)

 

posted @ 2021-02-17 11:36  xuwenwei  阅读(67)  评论(0编辑  收藏  举报