ページへ戻る
印刷
Python/型の判定(type,isinstance)
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/型の判定(type,isinstance) をテンプレートにして作成
開始行:
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にしてしま...
そのため、せっかくスーパークラスと同じように使えるように...
これを回避するためには、継承まで含めて型チェックするisins...
先ほどの例で言うとunicodeとstrは同じbasestringを継承して...
print isinstance(testString, basestring)
print isinstance(utfTestString, basestring)
結果
True
True
となり、isinstanceは両方ともTrueになります。
基本的に型チェックはisinstanceを使った方が便利です。
終了行:
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にしてしま...
そのため、せっかくスーパークラスと同じように使えるように...
これを回避するためには、継承まで含めて型チェックするisins...
先ほどの例で言うとunicodeとstrは同じbasestringを継承して...
print isinstance(testString, basestring)
print isinstance(utfTestString, basestring)
結果
True
True
となり、isinstanceは両方ともTrueになります。
基本的に型チェックはisinstanceを使った方が便利です。
ページ名: