使用链接在一起的大量生成器而不是仅使用单个生成器是否有任何性能考虑。
例如:
def A(self, items):
for item in self.AB(items):
if object.A():
yield item
def AB(self, items):
for object in self.ABC(objects):
if object.A() or object.B():
yield object
def ABC(self, objects):
for object in objects:
if object.A() or object.B() or object.C():
yield object
显然,调用A(objects)
将通过三个不同的生成器,但在许多情况下,如果有不同的生成器来处理不同的过滤,它会使代码更好地重用。谁能指出使用这种技术对性能有重大影响?