Что я должен сделать, чтобы использовать мои объекты пользовательского типа в качестве ключей в словаре Python (где я не хочу, чтобы "идентификатор объекта" выступал в качестве ключа), например.
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
Я бы хотел использовать MyThing как ключи, которые считаются одинаковыми, если имя и местоположение совпадают. Из С#/Java я привык к переопределению и предоставлению метода equals и hashcode и обещаю не мутировать ничего, на что зависит хэш-код.
Что я должен сделать в Python для этого? Должен ли я даже?
(В простом случае, как здесь, возможно, было бы лучше просто поместить (имя, местоположение) кортеж в качестве ключа, но подумайте, что я хочу, чтобы ключ был объектом)