如何检查Python对象是否是字符串(常规或Unicode)?
将isinstance(obj, basestring)
用于测试对象obj
。
isinstance(your_object, basestring)
类型,但事实证明我没有。 from . import getfields
def test_getfields_novalidation():
result = ['a', 'b']
assert list(getfields('a b')) == result
assert list(getfields('a,b', sep=',')) == result
assert list(getfields('a', 'b')) == result
assert list(getfields(['a', 'b'])) == result
def is_string(s):
return isinstance(s, basestring)
检查对象o
是否是字符串类型的子类的字符串类型:
我发现了这个import sys
PY3 = sys.version_info[0] == 3
if PY3:
string_types = str
else:
string_types = basestring
:
如果要远离显式类型检查(并且有充分的理由远离它),则可能要检查的字符串协议最安全的部分是:
False
converting
将其转换为字符串!unicode
如果您的对象确实是字符串类型,则为True。 'str'是保留字。