From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 22 Jul 2025 08:32:09 +0000 (+0200) Subject: [3.14] gh-136859: Improve `StrEnum` docs (GH-136864) (#136936) X-Git-Tag: v3.14.0rc1~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ddd3413687ef411c7bf7b029337cdf48c6d6c59c;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-136859: Improve `StrEnum` docs (GH-136864) (#136936) Co-authored-by: Nacho Caballero Co-authored-by: Nacho Caballero Co-authored-by: Antonio Spadaro --- diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst index c9b2c7d76b67..2cfc2f496297 100644 --- a/Doc/library/enum.rst +++ b/Doc/library/enum.rst @@ -504,16 +504,31 @@ Data Types .. class:: StrEnum - ``StrEnum`` is the same as :class:`Enum`, but its members are also strings and can be used - in most of the same places that a string can be used. The result of any string - operation performed on or with a *StrEnum* member is not part of the enumeration. + *StrEnum* is the same as :class:`Enum`, but its members are also strings and + can be used in most of the same places that a string can be used. The result + of any string operation performed on or with a *StrEnum* member is not part + of the enumeration. + + >>> from enum import StrEnum, auto + >>> class Color(StrEnum): + ... RED = 'r' + ... GREEN = 'g' + ... BLUE = 'b' + ... UNKNOWN = auto() + ... + >>> Color.RED + + >>> Color.UNKNOWN + + >>> str(Color.UNKNOWN) + 'unknown' .. note:: There are places in the stdlib that check for an exact :class:`str` instead of a :class:`str` subclass (i.e. ``type(unknown) == str`` instead of ``isinstance(unknown, str)``), and in those locations you - will need to use ``str(StrEnum.member)``. + will need to use ``str(MyStrEnum.MY_MEMBER)``. .. note::