请问下图中,shengchengqi()和a难道不应该是等价的吗?为什么使用第15行报错,而使用第16行不报错呢?
def shengchenggi():
print("a")
res = yield 1
print(res)
print("b")
yield 2
print("c")
yield 3
print("d")
yield 4
print("e")
# 调用一次生成器函数,创建一个生成器对象
a = shengchenggi()
# 使用 next() 函数调用生成器函数
print(next(a))
# 使用 send() 方法调用生成器函数
print(a.send(666))
这样就可以在使用第 15 行的调用方式时不报错了。