Отношения подклассов
Отношения подклассов не обязательно являются транзитивными в Python. Любому разрешено определять свой собственный, произвольный subclasscheck в метаклассе.
Когда issubclass(cls, Hashable) вызывается, он просто ищет не ложный "hash" метод в cls или что-либо, от чего он наследуется.
Поскольку object является хешируемым, но list не является хешируемым, это нарушает отношение транзитивности.
Разъяснивший Python
Post #4667
327
