Pythonでは、変数の型を宣言する必要がありませんね、、、それ故、「トラブルが起きた時に、データの型がなんだろう?」「戻り値がバラバラで、型によって振り分けたい」なんて事があると思います!
そこで、Pythonで型の種類をチェックする方法をご紹介したいと思います!(`・ω・´)ゞ
type
組み込み関数にある「type」を使うと、データの型が何なのか見ることができます!
data = 1 print type(data) # <type 'int'> data = 3.14 print type(data) # <type 'float'> data = 'abcdefg' print type(data) # <type 'str'> data = u'あいうえお' print type(data) # <type 'unicode'> data = [0, 1, 2, 3] print type(data) # <type 'list'> data = True print type(data) # <type 'bool'>
元からある型だけでなく、どのClassのインスタンスなのかも調べることができます。
class TypeTest(object): pass data = TypeTest() print type(data) # <class '__main__.TypeTest'>
「__main__」の部分は、モジュール名になります。
isinstance
組み込み関数にある「isinstance」を使うと、指定した型と一致する時はTrue、一致しない場合はFalseを取得することができます!
data = 1 if isinstance(data, int): print 'data is int.' else: print 'data is not int.' # data is int.
もちろん、自分で作成したClassも判別できます!
data = TypeTest() if isinstance(data, TypeTest): print 'data is TypeTest' else: print 'data is not TypeTest' # data is TypeTest
家のインターネットが遅すぎてツライです。。。