如何检查变量类型是否为字符串?
有没有办法检查一个变量在Python中是不是一个string
类型的,比如:
isinstance(x,int);
对于整数值来说呢?
22 个回答
117
在Python 3.x或Python 2.7.6版本中
if type(x) == str:
243
我知道这个话题已经很老了,但因为它在谷歌上是第一个显示的,而且我觉得没有哪个答案让我满意,所以我就把它留在这里,供以后参考:
six 是一个兼容 Python 2 和 3 的库,已经解决了这个问题。你可以这样做:
import six
if isinstance(value, six.string_types):
pass # It's a string !!
查看代码后,你会发现:
import sys
PY3 = sys.version_info[0] == 3
if PY3:
string_types = str,
else:
string_types = basestring,
1550
在Python 3.x中,检查一个变量s
是否是字符串的正确方法是
isinstance(s, str)
在Python 3中,bytes
类不被认为是字符串类型。
而在Python 2.x中,正确的检查方法是
isinstance(s, basestring)
basestring
是str
和unicode
的一个抽象父类。你可以用它来判断一个对象是否是str
或unicode
的实例。