How to define what a class is ?
nomail at invalid.com
Thu Feb 25 04:54:08 EST 2016
"Ian Kelly" <ian.g.kelly at gmail.com> a écrit dans le message de
news:mailman.85.1456303651.20994.python-list at python.org...
> On Wed, Feb 24, 2016 at 1:08 AM, ast <nomail at invalid.com> wrote:
> All metaclasses are subclasses of type, so all classes are instances of type.
Ah ! I didn't know that if an object Obj is an instance of Myclass and
MyClass inherit from MyClass2, then Ojb is an instance of MyClass2 too
>>> from enum import Enum, EnumMeta
>>> isinstance(Enum, EnumMeta)
>>> isinstance(EnumMeta, type)
>>> isinstance(Enum, type)
>> 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
So we can conclude that inspect.isclass(x) is equivalent
to isinstance(x, type)
lets have a look at the source code of isclass:
"""Return true if the object is a class.
Class objects provide these attributes:
__doc__ documentation string
__module__ name of module in which this class was defined"""
return isinstance(object, type)
More information about the Python-list