相关疑难解决方法(0)

提升StopIteration和生成器中的return语句有什么区别?

我很好奇使用raise StopIterationreturn生成器中的语句之间的区别.

例如,这两个函数之间有什么区别吗?

def my_generator0(n):
    for i in range(n):
        yield i
        if i >= 5:
            return

def my_generator1(n):
    for i in range(n):
        yield i
        if i >= 5:
            raise StopIteration
Run Code Online (Sandbox Code Playgroud)

我猜的更"Python化"的方式来做到这一点是第二种方式(请纠正我,如果我错了),但据我可以看到两种方式提出一个StopIteration例外.

python generator stopiteration

37
推荐指数
3
解决办法
2万
查看次数

标签 统计

generator ×1

python ×1

stopiteration ×1