How to define what a class is ?
Ian Kelly
ian.g.kelly at gmail.com
Wed Feb 24 03:46:48 EST 2016
On Wed, Feb 24, 2016 at 1:08 AM, ast <nomail at invalid.com> wrote:
> Hi
>
> Since a class is an object, I ask myself how to define rigorously what a
> class is.
>
> classes are instances from type, but not all, since
> a class may be an instance of a metaclass
All metaclasses are subclasses of type, so all classes are instances of type.
> A class is always callable
It doesn't strictly have to be. You could override the __call__ method
in the metaclass to raise a TypeError if you don't want the class to
be callable. I don't know of a use case for this, though.
> Suppose I provide to you an object and that I
> ask to you to tell me if it is a class or not. How
> would you proceed ?
import inspect
inspect.isclass(x)
More information about the Python-list
mailing list