会社で型判定のやり方について新たに教えてもらった。
以前のエントリにあるように、私は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)