2013-08-08 3 views
10

私はその type(myvar)変数がPythonの特定のクラスであるかどうかをチェックするには?

を印刷時に出力があることを、変数「MYVAR」があります。

<class 'my.object.kind'> 

私はその種類の文字列や変数を含む10個の変数のリストを持っている場合を..方法if文を作成して、リスト "mylist"のオブジェクトが<type 'my.object.kind'>かどうかを確認できますか?使用isinstance

+0

あなたがしようとしていることは明確ではありません。リストに 'my.object.kind'型の要素が含まれているかどうかを確認しようとしていますか?あなたはリストのすべての要素のタイプを取得しようとしていますか? – user2357112

+0

'isinstance()'はあなたが探しているPythonの組み込み関数です。 http://docs.python.org/2/library/functions.html#isinstance –

答えて

13

、それはサブクラスのインスタンスである場合でも、これはtrueを返します:

if isinstance(x, my.object.kind) 

または:

type(x) == my.object.kind #3.x 

リスト内のすべてをテストする場合:

if any(isinstance(x, my.object.kind) for x in alist) 
+0

この投稿をリストに適用する方法を質問します – Owen

0
if any(map(lambda x: isinstance(x, my.object.kind), my_list_of_objects)): 
    print "Found one!" 
+3

ここでは 'map'と' lambda'は必要ありません。ジェネレータの理解度を使用してください。 – tobyodavies

0

お試し

if any([isinstance(x, my.object.kind) for x in mylist]): 
    print "found" 
関連する問題