Детали issubclass

У меня есть любой класс:

class SomeClass:
    ...

Мне нужно, чтобы при вызове issubclass(SomeClass, dict) возвращалось значение True.
При этом я не хочу использовать наследование.
То есть, мне не нужны решения такого типа:

class SomeClass(dict):
    ...

UPD: Решение через наследование будет считаться правильным, если подкласс не будет наследовать методы родительского класса.


Ответы (1 шт):

Автор решения: Bol4onok

Задачу можно решить незамысловатым метаклассом, как отмечалось в комментариях, наследования в таком случае производится не будет. В момент создания класса в его bases-tuple будет подмешиваться dict. Пример работы кода:

class Meta(type):
    def __new__(cls, clsname, clsbases, clsmethods):
        clsbases = (dict, *clsbases)
        return type.__new__(cls, clsname, clsbases, clsmethods)


class A(metaclass=Meta):
    pass


print(issubclass(A, dict))

Вывод

True
→ Ссылка