字典键类型混淆isinstance python

时间:2018-11-15 11:40:51

标签: python dictionary

执行后,我听不懂。我预期会有不同的结果。

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

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

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

2 个答案:

答案 0 :(得分:4)

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))

答案 1 :(得分:1)

我想你只是想要这个:

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

您不需要type(str)