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 de l'objet" serve de clé), par exemple
class MyThing:
def __init__(self,name,location,length):
self.name = name
self.location = location
self.length = length
Je voudrais utiliser les MyThing comme des clés qui sont considérées comme identiques si le nom et l'emplacement sont les mêmes. Depuis C#/Java, j'ai l'habitude de devoir surcharger et fournir une méthode equals et hashcode, et de promettre de ne pas muter ce dont le hashcode dépend.
Que dois-je faire en Python pour y parvenir ? Devrais-je même le faire ?
(Dans un cas simple, comme ici, il serait peut-être préférable de placer un n-uplet (nom, emplacement) comme clé - mais je pense que je voudrais que la clé soit un objet).