如何判断一个变量是元组、字符串还是整数?

93 投票
7 回答
115551 浏览
提问于 2025-04-16 23:45

我正在尝试解决一个类型不匹配的问题,具体是在把一个字符串和另一个字符串拼接的时候出现了错误。

简单来说,返回的错误是 TypeError(不能将字符串和元组拼接在一起);所以我想找出哪里把一个值赋成了元组,而不是字符串。

我赋的所有值都是字符串,所以我得弄清楚元组是从哪里来的。我希望在Python中有办法查看一个变量里面包含了什么,以及它的类型是什么。

到目前为止,我使用了 pdb 来检查变量的内容,得到了我预期的值;但我还想知道变量的类型(从逻辑上讲,如果编译器能抛出类型错误,那说明它知道变量里面有什么,以及是否适合进行这个操作;所以一定有办法获取这个值或标志)。

有没有办法在Python中打印出一个变量的类型呢?

顺便说一下,我尝试把所有变量都明确设置为字符串,但强制使用 str(myvar) 并不现实,所以我不能在每次使用字符串的地方都强制转换为字符串类型。

7 个回答

31

使用 isinstance 有什么用?

if isinstance(var, int):

if isinstance(var, str):

if isinstance(var, tuple):
197
isinstance(obj, tuple)
isinstance(obj, basestring)
isinstance(obj, int)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

43

你只需要使用:

type(varname)

这样就可以输出整数、字符串、小数等等...

撰写回答