2011-02-07 2 views
0

Pythonで変数がintかif文を使用しているかどうかを知りたいと思っています。私はこれについてどうやって行くのですか?どのタイプのデータが何であるかを伝える、Python

+0

のPythonには変数が、ありませんオブジェクトとオブジェクトへの参照だけです。 – eyquem

+3

@eyquem:ここで正式にする必要はありません。もちろん、Pythonには変数があります。この用語は、公式文書の中で何度も使われています。 http://docs.python.org/tutorial/introduction.html#numbers( "等号( '=')は変数に値を割り当てるために使用されます)。 –

+4

次の質問です:なぜあなたはそれを行う必要がありますか?通常、Pythonでは型チェックを行う必要はありません。 [代わりに "ダックタイピング"を使用してください(http://stackoverflow.com/questions/1549801/differences-between-isinstance-and-type-in​​-python/1549854#1549854)。 –

答えて

5

使用isinstance

if isinstance(var, int): 
    print "Int" 
elif isinstance(var, str): 
    print "Str" 
else: 
    print "Other:", type(var) 
+0

「タイプ」モジュールもあります。 – Iacks

2

あなただけでisinstanceを使用する必要があります。

value = 123 
if isinstance(value, int): 
    print "Int" 
else: 
    print "Not Int" 
3
if isinstance(x,int): 
print 'win' 
0

質問がintの値にバインドされた内の変数かどうかを検出する場合任意の導出タイプですので、isinstanceはソリューションです。

...ただし、intboolの区別はありません。 Pythonの3では :

>>> isinstance(123, int) 
True 
>>> isinstance(True, int) 
True 
>>> isinstance(123, bool) 
False 
>>> isinstance(True, bool) 
True 

あなたは本当に価値がint何もないですかどうかを知る必要がある場合は、type()が移動するための方法のようになります。

>>> type(123) 
<class 'int'> 
>>> type(123) == int 
True 
関連する問題