pythonで与えられた変数が文字列かどうか調べる

今まで文字列かどうかを調べるときは

isinstance(test, str) or isinstance(test, unicode)

ってやってたんだけど、もっと簡単に

isinstance(test, (str, unicode))

なんてのが出来るらしい。

それどころかもっと簡単に出来て、

isinstance(a, basestring)

ってのも行けるらしい。

basestringってのはstrやunicodeのスーパークラスとのこと。

ちゃんと調べないともったいないねー、こういうの。 ちなみに、python3.xにはbasestringが存在しないので注意。

参考: 2. 組み込み関数 - Python 2.7ja1 documentation