会社で型判定のやり方について新たに教えてもらった。
以前のエントリにあるように、私は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
Pytrhon3 では,basestring ではなく,strだけでいい.
- >>> isinstance(c, str)