enum docs outdated re attribute access (issue 25594)
Reviewers: , Message: One typo. https://bugs.python.org/review/25594/diff/15947/Doc/library/enum.rst File Doc/library/enum.rst (right): https://bugs.python.org/review/25594/diff/15947/Doc/library/enum.rst#newcode... Doc/library/enum.rst:733: Enum members are instances of an Enum class, and even though they are Not related to the issue, but perhaps one of the Enum could be linked with :class:`Enum`? https://bugs.python.org/review/25594/diff/15947/Doc/library/enum.rst#newcode... Doc/library/enum.rst:747: The :attr:`__members__` attribtute is only available on the class. Should read "attribute" Please review this at https://bugs.python.org/review/25594/ Affected files: Doc/library/enum.rst diff -r 828c9b920532 Doc/library/enum.rst --- a/Doc/library/enum.rst Fri Nov 13 15:18:26 2015 +0200 +++ b/Doc/library/enum.rst Fri Nov 13 10:17:02 2015 -0800 @@ -724,31 +724,34 @@ The most interesting thing about Enum me :class:`EnumMeta` creates them all while it is creating the :class:`Enum` class itself, and then puts a custom :meth:`__new__` in place to ensure that no new ones are ever instantiated by returning only the existing member instances. Finer Points ^^^^^^^^^^^^ Enum members are instances of an Enum class, and even though they are -accessible as `EnumClass.member`, they are not accessible directly from +accessible as `EnumClass.member`, they may not be accessible directly from the member:: - >>> Color.red - <Color.red: 1> - >>> Color.red.blue - Traceback (most recent call last): + >>> class FieldTypes(Enum): + ... name = 0 + ... value = 1 + ... size = 2 ... - AttributeError: 'Color' object has no attribute 'blue' + >>> FieldTypes.value.size + <FieldTypes.size: 2> + >>> FieldTypes.size.value + 2 -Likewise, the :attr:`__members__` is only available on the class. +The :attr:`__members__` attribtute is only available on the class. If you give your :class:`Enum` subclass extra methods, like the `Planet`_ class above, those methods will show up in a :func:`dir` of the member, but not of the class:: >>> dir(Planet) ['EARTH', 'JUPITER', 'MARS', 'MERCURY', 'NEPTUNE', 'SATURN', 'URANUS', 'VENUS', '__class__', '__doc__', '__members__', '__module__'] >>> dir(Planet.EARTH) ['__class__', '__doc__', '__module__', 'name', 'surface_gravity', 'value']
participants (1)
-
ghost.adh@gmail.com