Python中不可变对象的类型是什么(对于mypy)
我总是在我的Python程序中使用Python中不可变对象的类型是什么(对于mypy),python,python-3.x,mypy,Python,Python 3.x,Mypy,我总是在我的Python程序中使用mypy 不可变对象(可用于字典键的对象)的类型是什么 为了回到上下文中,我想编写一个从dictionary继承的类,我有以下代码 class SliceableDict(dict): def __getitem__(self, attr:Any) -> Any: return super().__getitem__(attr) 在这种情况下,键入提示是非常无用的,不是吗 感谢指的是可以作为dict中的有效键或集合中的值的任何类型
mypy
不可变对象(可用于字典键的对象)的类型是什么
为了回到上下文中,我想编写一个从dictionary继承的类,我有以下代码
class SliceableDict(dict):
def __getitem__(self, attr:Any) -> Any:
return super().__getitem__(attr)
在这种情况下,键入提示是非常无用的,不是吗
感谢指的是可以作为dict
中的有效键或集合
中的值的任何类型
它不需要真正的不变性(任何对象都可以),但一般来说,可散列的东西应该是“视为不可变”的东西,因为如果它们在插入
集合
或作为dict
键插入后发生变异,它将破坏这些东西。dict的键是(参见),hashable类型是,.的别名,您的答案和jwodder的答案都很好。。我选择了另一个,只是因为我先看到了它。再次感谢你花时间来启发我!