Que dois-je faire pour utiliser mes objets d'un type personnalisé comme clés dans un dictionnaire Python (où je ne veux pas que l '"identifiant d'objet" agisse comme clé), par exemple
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
Je voudrais utiliser MyThing comme des clés considérées comme identiques si le nom et l'emplacement sont les mêmes. Depuis C # / Java, j'ai l'habitude de devoir remplacer et de fournir une méthode d'égalité et de hashcode, et je promets de ne pas muter quoi que ce soit dont le hashcode dépend.
Que dois-je faire en Python pour accomplir cela? Dois-je même?
(Dans un cas simple, comme ici, il serait peut-être préférable de simplement placer un tuple (nom, emplacement) comme clé - mais considérez que je voudrais que la clé soit un objet)