1. 利用 __iter__內建屬性spa
if hasattr(obj, '__iter__') : print 'iterable'
這種方法不能檢測字符串,如:hasattr('', '__iter__')返回False。code
2. 假設obj是iterable的,若是不是的話,就拋出異常blog
try: for v in obj: print v except TypeError, e: print e
3. 檢查實例是不是collections.Iterable子類字符串
import collections if isinstance(obj, collections.Iterable): print 'iterable'