pythonのオブジェクトの型判定。

会社で型判定のやり方について新たに教えてもらった。

以前のエントリにあるように、私はType()を使って型の判定をしていた。
しかし、これは古いやり方らしい。

今は、isinstance()を使うようだ。
この場合、モジュールをインポートしなくていいみたい。

また、文字の判別のとき、str,unicodeと何種類かの型がある。
従来は、orで判定が必要だったが、isinstanceでは、
isinstance(b,basestring)で判定が出来る。

>>> a = 'abc'
>>> b = [1, 2]

>>> type(a)


>>> type(b)


>>> 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)