On 9/18/20 3:12 PM, Guido van Rossum wrote:
> On 9/18/20 2:44 PM, Ethan Furman wrote:
>> I'm looking for arguments relating to:
>>
>> - should _convert_ make the default __repr__ be
>> module_name.member_name?
>
> I actually like the status quo for regular enums, when repr() shows
> the type, name and value, and str() shows "classname.flagname", so I'd
> stick to that for converted flags. Even though this violates the rule
> of thumb that repr() should look like a valid expression -- perhaps a
> stronger rule of thumb is that repr() should show more than str().
Well, if the repr is re.IGNORECASE and the str is 2, then we've met that
bar. ;-)
>> - should _convert_ make the default __str__ be the same, or be the
>> numeric value?
>
> Showing just (the str of) the value seems unkind, since e.g. showing
> '4'makes me think it's just an int. (Then again I can see that for
> *converted* flags that's not unreasonable.)
>
> But yeah, backwards compatibility. However, I don't think we got any
> complaints about the `re` flags, did we?
The only complaints I'm aware of were before the re constants became an
Enum, but my social media activity consists almost entirely of
Stackoverflow.
So at this point, I think the choices are:
Standard Enum
__repr__ __str__
<RegexFlag.IGNORECASE: 2> RegexFlag.IGNORECASE
and
Modified Converted Constant
__repr__ __str__
re.IGNORECASE 2
I will admit I fancy the MCC variant more, but we should make a choice
and then be consistent.
--
~Ethan~
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/5QWMFP3762XINCNK6WUJFLVNVENO5NOV/
Code of Conduct: http://python.org/psf/codeofconduct/