Я собираюсь написать функцию, которая найдет правильный обработчик для класса. Для этого я хочу использовать сопоставление классов от обработчиков. Я уже проверял, что можно использовать классы как словарные ключи, однако я не совсем уверен, правильно ли это делать.Можно ли использовать классы в качестве словарных ключей в python?
Моя основная забота заключается в том, что если у меня есть класс, импортированный в два разных модуля, эти два будут иметь одинаковый хэш. Но, возможно, есть некоторые другие аспекты, которые я должен рассмотреть.
Если идея использования самих классов неверна, я буду использовать классные имена, но это потребует от меня сохранения их уникальности, поэтому я бы предпочел использовать сами классы.
EDIT: Я сделал тест:
# file: a.py
import datetime
D = datetime.datetime
# file: b.py
import datetime
from a import D
print hash(D) == hash(datetime.datetime)
Печатает «Правда», но я до сих пор не уверен, если есть способ для того, чтобы быть Ложные для того же класса.
Спасибо. Я все еще считаю, что это необходимо для системы, которую я пытаюсь реализовать, но спасибо за предупреждение. – zefciu