Python:混合键类型的dict如何工作?

我知道以下内容在
Python中有效:foo = {‘a’:0,1:2,some_obj:’c’}

但是,我想知道内部如何运作.它是否将对象(对象,字符串,数字等)视为对象?是否键入check以确定如何计算给定密钥的哈希码?

最佳答案 类型在Python中的使用方式与静态类型语言不同.可散列对象只是一个具有有效散列方法的对象.解释器只调用该方法,不进行类型检查或任何操作.从那时起,标准哈希映射原则适用:对于要完成契约的对象,它必须实现哈希和等于方法.

点赞