変数がクラスであるかどうかを確認するにはどうすればいいですか? 質問する

変数がクラスであるかどうかを確認するにはどうすればいいですか? 質問する

変数がクラス(インスタンスではない!)であるかどうかをどのように確認すればよいのか疑問に思っていました。

関数を使用しisinstance(object, class_or_type_or_tuple)てこれを実行しようとしましたが、クラスの型が何であるかわかりません。

例えば次のコードでは

class Foo:
    pass

isinstance(Foo, **???**) # i want to make this return True.

「 」を???classに置き換えようとしましたが、これはPython のキーワードであることに気付きました。class

ベストアンサー1

さらに良いのは、inspect.isclass関数。

>>> import inspect
>>> class X(object):
...     pass
... 
>>> inspect.isclass(X)
True

>>> x = X()
>>> isinstance(x, X)
True
>>> inspect.isclass(x)
False

おすすめ記事