pythonのオブジェクトの型判定。
会社で型判定のやり方について新たに教えてもらった。
以前のエントリにあるように、私はType()を使って型の判定をしていた。 しかし、これは古いやり方らしい。
今は、isinstance()を使うようだ。 この場合、モジュールをインポートしなくていいみたい。
また、文字の判別のとき、str,unicodeと何種類かの型がある。 従来は、orで判定が必要だったが、isinstanceでは、 isinstance(b,basestring)で判定が出来る。
>>> a = 'abc'
>>> b = [1, 2]
>>> type(a)
<type 'str'>
>>> type(b)
<type 'list'>
>>> isinstance(a, str)
True
>>> isinstance(b, str)
False
>>> isinstance(b, list)
True
>>> c = u'def'
>>> isinstance(c, str)
False
>>> isinstance(c, unicode)
True
>>> isinstance(c, basestring)
True
Python3 では,basestring ではなく,strだけでいい.
>>> isinstance(c, str)