''' 可迭代对象(for):Iterable 【list tuple dict set str】+【generator】 迭代器(next()):Iterator 【generator】+iter(【list tuple dict set str】) 判断可迭代对象和迭代器:isinstance([],Iterable)和 isinstance([],Iterator) ''' from collections import Iterable from collections import Iterator ##以下全是可迭代对象 print(isinstance([1,2,3],Iterable)) ##列表list 【True】 print(isinstance((1,2,3),Iterable)) ##元祖tuple 【True】 print(isinstance({'a':1,'b':2,'c':3},Iterable)) ##字典dict 【True】 print(isinstance({1,2,3},Iterable)) ##集合set 【True】 print(isinstance('abc',Iterable)) ##字符串str 【True】 print(isinstance((x for x in range(4)),Iterable)) ##生成器generator 【True】 ##判断迭代器 print(isinstance([1,2,3],Iterator)) ##列表list 【False】 print(isinstance((1,2,3),Iterator)) ##元祖tuple 【False】 print(isinstance({'a':1,'b':2,'c':3},Iterator)) ##字典dict 【False】 print(isinstance({1,2,3},Iterator)) ##集合set 【False】 print(isinstance('abc',Iterator)) ##字符串str 【False】 print(isinstance((x for x in range(4)),Iterator)) ##生成器generator 【True】 ##使用iter()转化 print(isinstance(iter([1,2,3]),Iterator)) ##列表list 【True】 print(isinstance(iter((1,2,3)),Iterator)) ##元祖tuple 【True】 print(isinstance(iter({'a':1,'b':2,'c':3}),Iterator)) ##字典dict 【True】 print(isinstance(iter({1,2,3}),Iterator)) ##集合set 【True】 print(isinstance(iter('abc'),Iterator)) ##字符串str 【True】 print(isinstance((x for x in range(4)),Iterator)) ##生成器generator 【True】