Message391995
Currently, an enum with a mixed-in data type, such as IntEnum, will use that data type's `__format__` -- unless the user provides their own `__str__`, in which case the `str()` of the enum member will be used in the `format()` call.
This behavior will be deprecated in 3.10, and in 3.12 the default `__format__` will use the default `__str__`, which is the standard behavior for Python objects
For those that were relying on, for example,
class Color(IntEnum):
RED = 1
f'{Color.RED}' # -> '2'
They will need to add ":d" to ensure the integer output:
f'{Color.RED:d}'
This change does work now. |
|
Date |
User |
Action |
Args |
2021-04-26 23:04:32 | ethan.furman | set | recipients:
+ ethan.furman |
2021-04-26 23:04:32 | ethan.furman | set | messageid: <1619478272.35.0.783754187217.issue43945@roundup.psfhosted.org> |
2021-04-26 23:04:32 | ethan.furman | link | issue43945 messages |
2021-04-26 23:04:32 | ethan.furman | create | |
|