如何判断一个变量是元组、字符串还是整数?
我正在尝试解决一个类型不匹配的问题,具体是在把一个字符串和另一个字符串拼接的时候出现了错误。
简单来说,返回的错误是 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)
这样就可以输出整数、字符串、小数等等...