Pythonでは型の判定にtypeやisinstanceを使います。 typeは厳密にその型を何かを判定するのに使います。 # -*- coding: utf-8 -*- testString = "test" utfTestString = u"テスト" print type(testString) print type(utfTestString) print type(testString) == str print type(utfTestString) == str 結果 <type 'str'> <type 'unicode'> True False ただし、typeによる判定は、継承したクラスもFalseにしてしまいます。 そのため、せっかくスーパークラスと同じように使えるようにクラスを継承したのに、そのクラスが同じ処理で使えなくなってしまい、あまり使い勝手は良くありません。 これを回避するためには、継承まで含めて型チェックするisinstanceを使います。 先ほどの例で言うとunicodeとstrは同じbasestringを継承しているので、 print isinstance(testString, basestring) print isinstance(utfTestString, basestring) 結果 True True となり、isinstanceは両方ともTrueになります。 基本的に型チェックはisinstanceを使った方が便利です。
(This host) = https://njf.jp