字典键类型混淆isinstance python [重复]

Posted

技术标签:

【中文标题】字典键类型混淆isinstance python [重复]【英文标题】:dictionary key type confusion isinstance python [duplicate] 【发布时间】:2019-04-18 12:16:23 【问题描述】:

我无法理解以下执行。我期待不同的结果。

>>> f = 'ms':'ma'
>>> isinstance(f['ms'], type(str))
False

>>> isinstance(f['ms'], type(dict))
False

>>> type(f['ms'])
<class 'str'>

【问题讨论】:

type(str) 返回type,因此您正在检查f['ms'] 是否是type 的实例,而不是str 的实例。如果您想检查某个内容是否为字符串,请使用isinstance(f['ms'], str) 【参考方案1】:

我想你只是想要这个:

>>> f = 'ms':'ma'
>>> isinstance(f['ms'], str)
True

你不需要type(str)

【讨论】:

【参考方案2】:

type(str)type(dict) 均返回 type,因此您正在检查您的对象是否是 type 的实例,而它们不是。

如果要检查某个内容是否为字符串,请使用

isinstance(f['ms'], str)

不是

isinstance(f['ms'], type(str))

如果你想测试某个东西是否是dict,你可以使用

isinstance(f['ms'], dict)

不是

isinstance(f['ms'], type(dict))

【讨论】:

以上是关于字典键类型混淆isinstance python [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何判断变量是否是特定类型的字典?即dict(int,str)

python学习-扩展-isinstance()

Python 映射类型:字典

检查类型是不是为字典 [重复]

Python基础数据类型——字典

Python数据类型:字典类型及常用方法(updatedelpopkeysvaluesitemssort)