Python字典中的dict其实是一种Mapping类型,我们可以使用isinstance判断一下,发现是真的:

1
2
3
4
5
6
7
8
9
10
from _collections_abc import Mapping, MutableMapping

print(type(dict)) # type类型

print(isinstance(dict, MutableMapping))
# False,因为isinsatance的第一个参数是object而不是一个类

a ={}
print(isinstance(a, MutableMapping))
# True,a 并不是继承MutableMapping,而是实现了MutableMapping中的方法

我们可以查看MutableMapping的源码,可以发现MutableMapping只是将dict注册进去而已

1
MutableMapping.register(dict)

具体的点击这里