Несмотря на то, что ранее было дано ответ, как подделать isinstance, в этом случае я пытаюсь подделать ответ, заданный type () при просмотре класса TypeChanger. Для контекста я просто пытаюсь понять, выполнимо или нет и почему для Python 3.X
Это моя текущая настройка теста:
def test():
class TypeChanger():
@classmethod
def __instancecheck__(cls, instance):
if instance is list:
return True
else:
return False
@property
def __class__(self):
return list
def extra_functionality(self):
return "Extra functionality"
a = TypeChanger()
return a
Тест:
trial = test()
assert isinstance(trial, list) # TRUE
assert isinstance(list, trial) # TRUE
assert type(trial)==type(list) # Assert error
Для дополнительного контекста моя цель - сохранить функциональность класса TypeChanger при фальсификации ответа type ()