на пользовательских классах, которые не переопределяют эти методы, один из них должен быть реализован, чтобы удовлетворить требование опрашивающего, чтобы экземпляры с одинаковым именем и расположением имели одинаковый ключ словаря.

должен сделать, чтобы использовать мои объекты пользовательского типа в качестве ключей в словаре Python (где я не хочу, чтобы «идентификатор объекта» выступал в качестве ключа), например,

class MyThing:
    def __init__(self,name,location,length):
            self.name = name
            self.location = location
            self.length = length

Я бы хотел использовать MyThing в качестве ключей, которые считаются одинаковыми, если имя и местоположение совпадают. Из C # / Java я привык переопределять и предоставлять метод equals и hashcode, и обещал не изменять ничего, от чего зависит hashcode.

Что я должен сделать в Python, чтобы сделать это? Должен ли я даже?

(В простом случае, как здесь, возможно, было бы лучше просто поместить кортеж (имя, местоположение) в качестве ключа - но подумайте, я бы хотел, чтобы ключ был объектом)

Ответы на вопрос(3)

Ваш ответ на вопрос