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)
原文地址:https://www.cnblogs.com/xuwenwei/p/14408487.html