我有一个适用于生成器和生成器函数的代码。当我尝试使用 对生成器进行切片时itertools.islice
,代码段不会生成任何输出。
我查看了代码,发现了以下代码片段:
if isinstance(result, dict):
self.returned(result)
elif inspect.isgenerator(result):
for x in result:
self.returned(x)
else:
self.returned(result)
事实证明,inspect.isgenerator
返回False
for itertools.islice
,这就是破坏代码的原因。inspect.isgeneratorfunction
行为相同。
- 不是
itertools.islice
生成器,还是生成器函数? - 我怎样才能找出
result
是生成器还是itertools.islice
对象?