我必须做什么才能将自定义类型的对象用作Python字典中的键(我不希望"对象id"充当键),例如
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
Run Code Online (Sandbox Code Playgroud)
如果名称和位置相同,我想使用MyThing作为被认为相同的键.从C#/ Java我习惯于必须覆盖并提供equals和hashcode方法,并承诺不会改变hashcode所依赖的任何内容.
我必须在Python中做些什么才能实现这一目标?我应该吗?
(在一个简单的例子中,就像这里一样,或许最好只将(名称,位置)元组作为键 - 但考虑我希望键是一个对象)