mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
[3.14] gh-136859: Improve StrEnum docs (GH-136864) (#136936)
Co-authored-by: Nacho Caballero <nachocab@gmail.com> Co-authored-by: Nacho Caballero <nacho.caballero@astrazeneca.com> Co-authored-by: Antonio Spadaro <ilovelinux@users.noreply.github.com>
This commit is contained in:
parent
d5d3adafa7
commit
ddd3413687
1 changed files with 19 additions and 4 deletions
|
|
@ -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.RED: 'r'>
|
||||
>>> Color.UNKNOWN
|
||||
<Color.UNKNOWN: '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::
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue