1. ホーム
  2. パイソン

[解決済み】変数がクラスであるかどうかを確認する方法は?

2022-03-31 22:22:49

質問

ある変数がクラス(インスタンスではない!)かどうかをチェックする方法を知りたかったのです。

という関数を使ってみたのですが isinstance(object, class_or_type_or_tuple) しかし、クラスがどのような型を持っているのかがわかりません。

例えば、次のようなコードです。

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

"を代入してみました。 class である。 ??? ということに気がつきました。 class はpythonのキーワードです。

どのように解決するのですか?

さらに良いのは inspect.isclass 関数を使用します。

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

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