, который работает в направлении, противоположном тому, что вы пытаетесь сделать.
аюсь, чтобы мой класс выглядел как другой объект, чтобы обойти ленивую проверку типов в пакете, который я использую. Более конкретно, я пытаюсь, чтобы мой объект отображался как экземпляр другого объекта (tuple
в моем случае) когда на самом деле это даже не происхождение этого.
Для этого я планирую перезаписать__isinstance__
метод, который в соответствии сдокументы, должен делать именно то, что я хочу. Однако, похоже, что я не понимал, как это сделать, потому что мои попытки не увенчались успехом.
Вот SSCCE, чтодолжен сделатьisinstance
вернутьFalse
во всех случаях, но не делает.
class FalseInstance(type):
def __instancecheck__(self, instance):
return False
class Foo(metaclass=FalseInstance):
pass
g = Foo()
isinstance(g, Foo)
> True
Что я делаю неправильно?