Python 2と3の互換性で変数が文字列かどうかを確認する方法 [重複] 質問する

Python 2と3の互換性で変数が文字列かどうかを確認する方法 [重複] 質問する

python-3.x では: を使用できることはわかっていますisinstance(x, str)が、python-2.x でも何かが文字列であるかどうかを確認する必要があります。python isinstance(x, str)-2.x でも期待どおりに動作しますか? それとも、バージョンを確認して を使用する必要がありますかisinstance(x, basestr)?

具体的には、python-2.x の場合:

>>>isinstance(u"test", str)
False

そしてpython-3.xにはu"foo"

ベストアンサー1

2.xと3.x互換のコードを書いている場合は、おそらく:

from six import string_types
isinstance(s, string_types)

おすすめ記事