Python 中的多入口、多出口协程

Multi-entry, multi-exit co-routine in Python

def print2Combs(n):
    for i in range(0, n):
        for j in range(i+1, n):
            print (i,j)

print2Combs(5)

该代码给了我这个输出:

0 1
0 2
0 3
0 4
1 2
1 3
1 4
2 3
2 4
3 4

据推测,这个函数是一个co例程,是一个多进多出的函数。它是一个发电机。我没有看到连接,无法回答以下问题。

  1. 为什么是多入口函数?
  2. 为什么是多出口功能?
  3. 为什么是co套路?

感谢任何帮助。谢谢!

A generator 是一个函数,returns 是一个迭代器。

print2CombsreturnsNone。 None 不是迭代器,所以 print2Combs 不是生成器。

A coroutine is a kind of generator 允许在执行恢复时传入值或异常。

因为print2Combs不是生成器,所以不能是协程。