yield 实现range()函数

Posted oxtime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yield 实现range()函数相关的知识,希望对你有一定的参考价值。

def range(*args,step= 1):
    args = list(args)
    if len(args) == 2:
        yield args[0]
        while args[0]<args[1]-1:
            args[0] +=step
            yield args[0]
    elif len(args) == 1:
        count = 0
        yield count
        while count < args[0]-1:
            count += 1
            yield count


for i in range(10):
    print(i)

C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe "D:/python/8.9/03 字典生成式.py"
0
1
2
3
4
5
6
7
8
9

以上是关于yield 实现range()函数的主要内容,如果未能解决你的问题,请参考以下文章

python 之 迭代器和生成器(yield)

生成器

python生成器之yield

生成器与yield

生成器与yield

生成器详解