python中判斷實例可迭代地幾種方式

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'
相關文章
相關標籤/搜索