Python itertools.islice不是发电机吗?

Python itertools.islice不是发电机吗?,python,itertools,Python,Itertools,我有一个关于生成器和生成器函数的代码段。当我尝试使用itertools.islice对生成器进行切片时,代码段不会生成任何输出 我研究了代码,发现了以下代码片段: if isinstance(result, dict): self.returned(result) elif inspect.isgenerator(result): for x in result: self.returned(x) else: self.returned(result)

我有一个关于生成器和生成器函数的代码段。当我尝试使用
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
itertools.islice
返回
False
,这就是破坏代码的原因<代码>检查。isgeneratorfunction的行为与此相同

  • itertools.islice是一个生成器还是一个生成器函数
  • 如何从
    结果中找出是生成器还是
    itertools.islice
    对象
  • 基于

    inspect.getmembers(itertools.islice)
    
    islice
    是迭代器,而不是生成器。
    更多信息

    我的python版本是win32上的2.7.3
    islice
    既是迭代器又是生成器。看看这里的代码:@iTayb我相信这只是一个Python表示,描述了引擎盖下正在发生的事情,而不是它的实际实现方式