How to check whether a variable is a class or not?

后端 未结 9 666
暖寄归人
暖寄归人 2020-11-28 19:14

I was wondering how to check whether a variable is a class (not an instance!) or not.

I\'ve tried to use the function isinstance(object, class_or_type_or_tuple

9条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-28 19:17

    This check is compatible with both Python 2.x and Python 3.x.

    import six
    isinstance(obj, six.class_types)
    

    This is basically a wrapper function that performs the same check as in andrea_crotti answer.

    Example:

    >>> import datetime
    >>> isinstance(datetime.date, six.class_types)
    >>> True
    >>> isinstance(datetime.date.min, six.class_types)
    >>> False
    

提交回复
热议问题