Hi
I am looking the relationship between some classes
from the enum module
from enum import EnumMeta, Enum
class Color(Enum):
pass
type(EnumMeta)
<class 'type'>
EnumMeta.__bases__
(<class 'type'>,)
so EnumMeta is a metaclass, it is an instance of type
and inherit from type too.
type(Enum)
<class 'enum.EnumMeta'>
Enum.__bases__
(<class 'object'>,)
so Enum is an instance of EnumMeta
and Enum inherit from object
type(Color)
<class 'enum.EnumMeta'>
Color.__bases__
(<enum 'Enum'>,)
so Color is an instance of EnumMeta and
inherit from Enum
It is not obvious to me that Color is an instance
of EnumMeta. Is it a python rule that if a class C
inherit from a class which is an instance of
a metaclass, then class C is an instance of the
same metaclass too ?
Or was it feasible to guess that ?
--
https://mail.python.org/mailman/listinfo/python-list