我知道我可以使用:isinstance(x, str)在 python-3.x 中,但我还需要检查某些内容是否是 python-2.x 中的字符串。会isinstance(x, str)在 python-2.x 中按预期工作吗?还是我需要检查版本并使用isinstance(x, basestr)?
isinstance(x, str)
isinstance(x, basestr)
具体来说,在 python-2.x 中:
>>>isinstance(u"test", str) False
而python-3.x没有u"foo"
u"foo"
如果您正在编写与 2.x 和 3.x 兼容的代码,您可能需要使用6 个:
from six import string_types isinstance(s, string_types)