Feature or enhancement
Proposal:
Enum gained an __init__ method in 3.11 which just passes:
def__init__(self, *args, **kwds):
pass
That was added in #30582. One person questioned it at the time, but there was no response. The best I can figure is that it was related to special handling of __init__ in EnumType.__dir__, which you can see here:
| def__dir__(cls): |
| # TODO: check for custom __init__, __new__, __format__, __repr__, __str__, __init_subclass__ |
| # on object-based enums |
| ifcls._member_type_isobject: |
| interesting=set(cls._member_names_) |
| ifcls._new_member_isnotobject.__new__: |
| interesting.add('__new__') |
| ifcls.__init_subclass__isnotobject.__init_subclass__: |
| interesting.add('__init_subclass__') |
| formethodin ('__init__', '__format__', '__repr__', '__str__'): |
| ifgetattr(cls, method) notin (getattr(Enum, method), getattr(Flag, method)): |
| interesting.add(method) |
That special handling of __init__ was removed by #30677 prior to 3.11 being released, which leaves no plausible function to Enum.__init__ that I can see. It muddies introspection of the type, so I think we should remove it if that's really the case.
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
Feature or enhancement
Proposal:
Enum gained an
__init__method in 3.11 which just passes:That was added in #30582. One person questioned it at the time, but there was no response. The best I can figure is that it was related to special handling of
__init__inEnumType.__dir__, which you can see here:cpython/Lib/enum.py
Lines 768 to 779 in 3852269
That special handling of
__init__was removed by #30677 prior to 3.11 being released, which leaves no plausible function toEnum.__init__that I can see. It muddies introspection of the type, so I think we should remove it if that's really the case.Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
__init__method from Enum #128081