質問: Analysis): pass sma=SMA() print('Falseになるはず→',isinstance(sma, SMA)) print('Falseになるはず→',isinstance(1, SMA)) print('Falseになるはず→',isinstance([], SMA)) print('Falseになるはず→',isinstance('', SMA)) ```
回答: argusさんのコメントより転載。 > > ソースコード上ではまず最初に type check を行って、 オブジェクトが指定されたクラスのインスタンスであれば即座に True を返しますので `__instancecheck__` は実行されません。ここでは sma が SMA クラスのインスタンスなので True が返って終了となります。 > > >