Pythonオブジェクトが反復をサポートしているかどうか、つまり反復可能なオブジェクト( 定義を参照
理想的には、TrueまたはFalseを返すisiterable(p_object)
に類似した関数が必要です(isinstance(p_object, type)
をモデルにしています)。
これはisinstance
とcollections.Iterable
を使用して確認できます
>>> from collections import Iterable
>>> l = [1, 2, 3, 4]
>>> isinstance(l, Iterable)
True
「チェック」しません。あなたが仮定します。
try:
for var in some_possibly_iterable_object:
# the real work.
except TypeError:
# some_possibly_iterable_object was not actually iterable
# some other real work for non-iterable objects.
許可を求めるよりも許しを求める方が簡単です。
このコードを試してください
def isiterable(p_object):
try:
it = iter(p_object)
except TypeError:
return False
return True