提问者:小点点

如果已经将list定义为变量,如何检查变量是否为list类型?


正如标题所说,不幸的是,我正在工作的平台迫使我将“list”定义为一个变量名。 此外,type是内置的变量名。 考虑到这个系统中使用的服务器端语言是Python,这是一个非常糟糕的疏忽! 我需要确定一个变量是否属于列表类型。 通常情况下,我显然会使用

IsInstance(q,list)

类型(q)==列表

我不太确定如何完成这件事。 我对Python比较陌生,但我对Java和JavaScript/jQuery有丰富的经验。 有什么想法吗?


共2个答案

匿名用户

首先,我不知道什么样的平台会使用像list这样的保留关键字作为变量名,但是您可以通过

type(q) == type([])

编辑:当我在写答案时,@Justin已经在评论中回答了。

匿名用户

内置名称也可以通过builtins模块使用,如果您对名称进行阴影处理的话。

>>> import builtins
>>> builtins.list is list
True
>>> list = 3
>>> builtins.list is list
False
>>> builtins.list("abc")
['a', 'b', 'c']
>>> del list
>>> builtins.list is list
True

该模块也可用,无需使用内置名称__builtins__显式导入。

相关问题