このエラーが何を意味するのか正確に説明してくれる人はいますか?TypeError: issubclass() arg 1 はクラスである必要があります 質問する

このエラーが何を意味するのか正確に説明してくれる人はいますか?TypeError: issubclass() arg 1 はクラスである必要があります 質問する

なぜこのエラーが発生するのか全く分かりません。

ベストアンサー1

の 2 つの引数はissubclass()、オブジェクトのインスタンスではなく、クラスである必要があります。

次のサンプルを検討してください:

>>> issubclass( 1, int )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: issubclass() arg 1 must be a class
>>> issubclass( type(1), int )
True    
>>> isinstance( 1, int )
True

重要なのは、type()関数を使用して、関数で使用するインスタンスの型を取得することですissubclass()。これは、別のコメントで述べたように、次の呼び出しと同等です。isinstance()

おすすめ記事