如何确定Python中的数据类型?

2 投票
3 回答
875 浏览
提问于 2025-04-15 16:58

一个字符串

我怎么判断"x"是一个元组还是字符串呢?

3 个回答

0

使用 isinstance(),它的基本用法是:

if isinstance(var, type):
    # do something
5
isinstance(x, str)
isinstance(x, tuple)

一般来说:

isinstance(variable, type)

这个功能用来检查一个variable(变量)是不是某种type(类型)或者它的子类型的实例(也就是它是否属于这个类型)(文档).

补充一下,别忘了字符串也可以是unicode格式(在这种情况下用isinstance(x, unicode)来检查),或者用isinstance(x, basestring)(谢谢,J.F. Sebastian!)来同时检查strunicode这两种类型。

8
if isinstance(x, basestring):
   # a string
else:
   try: it = iter(x)
   except TypeError:
       # not an iterable
   else:
       # iterable (tuple, list, etc)

@Alex Martelli的回答详细解释了为什么在使用Python处理类型时,你应该更倾向于使用上面提到的方式(感谢@Mike Hordecki提供的链接)。

撰写回答