isinstance()用法
1.判断是否为迭代器、迭代器对象(判断依据:是否含有__iter__,next )
-
# 1.判断是否为迭代器、迭代器对象(判断依据:是否含有__iter__,__next__ ) from collections.abc import Iterator, Iterable v1 = [11, 22, 33, 44] print(isinstance(v1, Iterable)) # Iterable -- > 可迭代对象 含有__iter__ 方法 print(isinstance(v1, Iterator)) # Iterator -- > 迭代器 含有__iter__,__next__ 方法 print(isinstance(v1.__iter__(), Iterable)) print(isinstance(v1.__iter__(), Iterator)) >>> True >>> False >>> True >>> True
2.判断对象是否为某个类或其子类的实例
-
# 2.判断对象是否为某个类或其子类的实例 class Foo(object): pass class Base(Foo): pass class Func(Base): pass v1 = Func() print(isinstance(v1), Func) print(isinstance(v1), Base) print(isinstance(v1), Foo) >>> True >>> True >>> True