mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
[3.11] gh-100458: Clarify Enum.__format__() change of mixed-in types in the whatsnew/3.11.rst (GH-100387) (GH-104060)
Co-authored-by: Anže Pečar <anze@pecar.me> Co-authored-by: JosephSBoyle <48555120+JosephSBoyle@users.noreply.github.com> Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
This commit is contained in:
parent
0df7c3a466
commit
723aacb7d5
1 changed files with 5 additions and 13 deletions
|
@ -668,19 +668,11 @@ enum
|
|||
for :meth:`~object.__str__` and :meth:`~object.__format__`
|
||||
(used by :func:`str`, :func:`format` and :term:`f-string`\s).
|
||||
|
||||
* Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum.StrEnum`
|
||||
to now inherit from :class:`~enum.ReprEnum`,
|
||||
so their :func:`str` output now matches :func:`format`
|
||||
(both ``str(AnIntEnum.ONE)`` and ``format(AnIntEnum.ONE)`` return ``'1'``,
|
||||
whereas before ``str(AnIntEnum.ONE)`` returned ``'AnIntEnum.ONE'``.
|
||||
|
||||
* Changed :meth:`Enum.__format__() <enum.Enum.__format__>`
|
||||
(the default for :func:`format`, :meth:`str.format` and :term:`f-string`\s)
|
||||
of enums with mixed-in types (e.g. :class:`int`, :class:`str`)
|
||||
to also include the class name in the output, not just the member's key.
|
||||
This matches the existing behavior of :meth:`enum.Enum.__str__`,
|
||||
returning e.g. ``'AnEnum.MEMBER'`` for an enum ``AnEnum(str, Enum)``
|
||||
instead of just ``'MEMBER'``.
|
||||
* Changed :meth:`Enum.__format__() <enum.Enum.__format__>` (the default for
|
||||
:func:`format`, :meth:`str.format` and :term:`f-string`\s) to always produce
|
||||
the same result as :meth:`Enum.__str__()`: for enums inheriting from
|
||||
:class:`~enum.ReprEnum` it will be the member's value; for all other enums
|
||||
it will be the enum and member name (e.g. ``Color.RED``).
|
||||
|
||||
* Added a new *boundary* class parameter to :class:`~enum.Flag` enums
|
||||
and the :class:`~enum.FlagBoundary` enum with its options,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue