1. 程式人生 > >python中判斷實例可叠代地幾種方式

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

instance exc except attr 實例 假設 是否 print code

1. 利用 __iter__內建屬性

if hasattr(obj, __iter__) :
    print iterable

這種方法不能檢測字符串,如:hasattr(‘‘, ‘__iter__‘)返回False。

2. 假設obj是iterable的,如果不是的話,就拋出異常

try:
    for v in obj:
        print v
except TypeError, e:
    print e

3. 檢查實例是否是collections.Iterable子類

import collections
if isinstance(obj, collections.Iterable):
    
print iterable

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