如何检查变量的类型是否为字符串?

2022-09-05 01:14:37

有没有办法检查python中变量的类型是否是,如:string

isinstance(x,int);

对于整数值?


答案 1

在Python 3.x中,检查字符串的正确方法是s

isinstance(s, str)

该类在 Python 3 中不被视为字符串类型。bytes


在Python 2.x中,正确的检查是

isinstance(s, basestring)

basestring是 和 的抽象超类。它可用于测试对象是否是 或 的实例。strunicodestrunicode


答案 2

我知道这是一个古老的话题,但作为谷歌上显示的第一个话题,鉴于我没有找到任何令人满意的答案,我将把这个留在这里供将来参考:

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,