词典的密钥类型的混淆isinstance Python

dictionary key type confusion isinstance python

本问题已经有最佳答案,请猛点这里访问。

我不明白执行之后会发生什么。我期待着不同的结果。

1
2
3
4
5
6
7
8
9
>>> f = {'ms':'ma'}
>>> isinstance(f['ms'], type(str))
False

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

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


type(str)type(dict)都返回type,所以您要检查对象是否是type的实例,而它们不是。

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

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

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

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

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

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

我想你只是想要这个:

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

你不需要type(str)