龙空技术网

Python 语言如何判断一个对象是生成器还是迭代器?

跟黄哥学编程 240

前言:

此刻看官们对“python判断是否是对象”都比较看重,兄弟们都需要知道一些“python判断是否是对象”的相关内容。那么小编在网摘上汇集了一些关于“python判断是否是对象””的相关资讯,希望小伙伴们能喜欢,大家一起来了解一下吧!

有网友问,如何判断一个对象是生成器还是迭代器?

黄哥答:

1、如何判断一个对象是生成器,可以用下面的函数

'''黄哥Python培训 黄哥所写Python 3 qq:1465376564'''from inspect import isgeneratordef foo(): yield 1 yield 2a = (x for x in range(5))p = zip([1, 2, 3], ["Python", "Go", "Java"])print(isgenerator(foo()))print(isgenerator((i for i in range(10))))print(isgenerator((i for i in range(10))))print(isgenerator(a))print(isgenerator(p))

2、如何判断一个对象是迭代器。

'''黄哥Python培训 黄哥所写Python 3 qq:1465376564'''from typing import Iterableclass Reverse: """Iterator for looping over a sequence backwards.""" def __init__(self, data): self.data = data self.index = len(data) def __iter__(self): return self def __next__(self): if self.index == 0: raise StopIteration self.index = self.index - 1 return self.data[self.index]s = "Hello 黄哥Python"p = range(10)print(isinstance(s, Iterable))print(isinstance(p, Iterable))print(isinstance(Reverse([1, 2, 3, 4]), Iterable))

标签: #python判断是否是对象