# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-06-28 15:29+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/enum.rst:2 msgid ":mod:`enum` --- Support for enumerations" msgstr "" #: ../Doc/library/enum.rst:14 msgid "**Source code:** :source:`Lib/enum.py`" msgstr "**Code source :** :source:`Lib/enum.py`" #: ../Doc/library/enum.rst:18 msgid "" "An enumeration is a set of symbolic names (members) bound to unique, " "constant values. Within an enumeration, the members can be compared by " "identity, and the enumeration itself can be iterated over." msgstr "" #: ../Doc/library/enum.rst:24 msgid "Module Contents" msgstr "Contenu du module" #: ../Doc/library/enum.rst:26 msgid "" "This module defines four enumeration classes that can be used to define " "unique sets of names and values: :class:`Enum`, :class:`IntEnum`, :class:" "`Flag`, and :class:`IntFlag`. It also defines one decorator, :func:" "`unique`, and one helper, :class:`auto`." msgstr "" #: ../Doc/library/enum.rst:33 msgid "" "Base class for creating enumerated constants. See section `Functional API`_ " "for an alternate construction syntax." msgstr "" #: ../Doc/library/enum.rst:38 msgid "" "Base class for creating enumerated constants that are also subclasses of :" "class:`int`." msgstr "" #: ../Doc/library/enum.rst:43 msgid "" "Base class for creating enumerated constants that can be combined using the " "bitwise operators without losing their :class:`IntFlag` membership. :class:" "`IntFlag` members are also subclasses of :class:`int`." msgstr "" #: ../Doc/library/enum.rst:49 msgid "" "Base class for creating enumerated constants that can be combined using the " "bitwise operations without losing their :class:`Flag` membership." msgstr "" #: ../Doc/library/enum.rst:54 msgid "" "Enum class decorator that ensures only one name is bound to any one value." msgstr "" #: ../Doc/library/enum.rst:58 msgid "Instances are replaced with an appropriate value for Enum members." msgstr "" #: ../Doc/library/enum.rst:60 msgid "``Flag``, ``IntFlag``, ``auto``" msgstr "" #: ../Doc/library/enum.rst:64 msgid "Creating an Enum" msgstr "" #: ../Doc/library/enum.rst:66 msgid "" "Enumerations are created using the :keyword:`class` syntax, which makes them " "easy to read and write. An alternative creation method is described in " "`Functional API`_. To define an enumeration, subclass :class:`Enum` as " "follows::" msgstr "" #: ../Doc/library/enum.rst:78 msgid "Enum member values" msgstr "" #: ../Doc/library/enum.rst:80 msgid "" "Member values can be anything: :class:`int`, :class:`str`, etc.. If the " "exact value is unimportant you may use :class:`auto` instances and an " "appropriate value will be chosen for you. Care must be taken if you mix :" "class:`auto` with other values." msgstr "" #: ../Doc/library/enum.rst:85 msgid "Nomenclature" msgstr "" #: ../Doc/library/enum.rst:87 msgid "The class :class:`Color` is an *enumeration* (or *enum*)" msgstr "" #: ../Doc/library/enum.rst:88 msgid "" "The attributes :attr:`Color.RED`, :attr:`Color.GREEN`, etc., are " "*enumeration members* (or *enum members*) and are functionally constants." msgstr "" #: ../Doc/library/enum.rst:90 msgid "" "The enum members have *names* and *values* (the name of :attr:`Color.RED` is " "``RED``, the value of :attr:`Color.BLUE` is ``3``, etc.)" msgstr "" #: ../Doc/library/enum.rst:96 msgid "" "Even though we use the :keyword:`class` syntax to create Enums, Enums are " "not normal Python classes. See `How are Enums different?`_ for more details." msgstr "" #: ../Doc/library/enum.rst:100 msgid "Enumeration members have human readable string representations::" msgstr "" #: ../Doc/library/enum.rst:105 msgid "...while their ``repr`` has more information::" msgstr "" #: ../Doc/library/enum.rst:110 msgid "The *type* of an enumeration member is the enumeration it belongs to::" msgstr "" #: ../Doc/library/enum.rst:118 msgid "Enum members also have a property that contains just their item name::" msgstr "" #: ../Doc/library/enum.rst:123 msgid "Enumerations support iteration, in definition order::" msgstr "" #: ../Doc/library/enum.rst:139 msgid "" "Enumeration members are hashable, so they can be used in dictionaries and " "sets::" msgstr "" #: ../Doc/library/enum.rst:149 msgid "Programmatic access to enumeration members and their attributes" msgstr "" #: ../Doc/library/enum.rst:151 msgid "" "Sometimes it's useful to access members in enumerations programmatically (i." "e. situations where ``Color.RED`` won't do because the exact color is not " "known at program-writing time). ``Enum`` allows such access::" msgstr "" #: ../Doc/library/enum.rst:160 msgid "If you want to access enum members by *name*, use item access::" msgstr "" #: ../Doc/library/enum.rst:167 msgid "If you have an enum member and need its :attr:`name` or :attr:`value`::" msgstr "" #: ../Doc/library/enum.rst:177 msgid "Duplicating enum members and values" msgstr "" #: ../Doc/library/enum.rst:179 msgid "Having two enum members with the same name is invalid::" msgstr "" #: ../Doc/library/enum.rst:189 msgid "" "However, two enum members are allowed to have the same value. Given two " "members A and B with the same value (and A defined first), B is an alias to " "A. By-value lookup of the value of A and B will return A. By-name lookup " "of B will also return A::" msgstr "" #: ../Doc/library/enum.rst:209 msgid "" "Attempting to create a member with the same name as an already defined " "attribute (another member, a method, etc.) or attempting to create an " "attribute with the same name as a member is not allowed." msgstr "" #: ../Doc/library/enum.rst:215 msgid "Ensuring unique enumeration values" msgstr "" #: ../Doc/library/enum.rst:217 msgid "" "By default, enumerations allow multiple names as aliases for the same value. " "When this behavior isn't desired, the following decorator can be used to " "ensure each value is used only once in the enumeration:" msgstr "" #: ../Doc/library/enum.rst:223 msgid "" "A :keyword:`class` decorator specifically for enumerations. It searches an " "enumeration's :attr:`__members__` gathering any aliases it finds; if any are " "found :exc:`ValueError` is raised with the details::" msgstr "" #: ../Doc/library/enum.rst:241 msgid "Using automatic values" msgstr "" #: ../Doc/library/enum.rst:243 msgid "If the exact value is unimportant you can use :class:`auto`::" msgstr "" #: ../Doc/library/enum.rst:254 msgid "" "The values are chosen by :func:`_generate_next_value_`, which can be " "overridden::" msgstr "" #: ../Doc/library/enum.rst:272 msgid "" "The goal of the default :meth:`_generate_next_value_` methods is to provide " "the next :class:`int` in sequence with the last :class:`int` provided, but " "the way it does this is an implementation detail and may change." msgstr "" #: ../Doc/library/enum.rst:277 msgid "Iteration" msgstr "" #: ../Doc/library/enum.rst:279 msgid "Iterating over the members of an enum does not provide the aliases::" msgstr "" #: ../Doc/library/enum.rst:284 msgid "" "The special attribute ``__members__`` is an ordered dictionary mapping names " "to members. It includes all names defined in the enumeration, including the " "aliases::" msgstr "" #: ../Doc/library/enum.rst:296 msgid "" "The ``__members__`` attribute can be used for detailed programmatic access " "to the enumeration members. For example, finding all the aliases::" msgstr "" #: ../Doc/library/enum.rst:304 msgid "Comparisons" msgstr "Comparaisons" #: ../Doc/library/enum.rst:306 msgid "Enumeration members are compared by identity::" msgstr "" #: ../Doc/library/enum.rst:315 msgid "" "Ordered comparisons between enumeration values are *not* supported. Enum " "members are not integers (but see `IntEnum`_ below)::" msgstr "" #: ../Doc/library/enum.rst:323 msgid "Equality comparisons are defined though::" msgstr "" #: ../Doc/library/enum.rst:332 msgid "" "Comparisons against non-enumeration values will always compare not equal " "(again, :class:`IntEnum` was explicitly designed to behave differently, see " "below)::" msgstr "" #: ../Doc/library/enum.rst:341 msgid "Allowed members and attributes of enumerations" msgstr "" #: ../Doc/library/enum.rst:343 msgid "" "The examples above use integers for enumeration values. Using integers is " "short and handy (and provided by default by the `Functional API`_), but not " "strictly enforced. In the vast majority of use-cases, one doesn't care what " "the actual value of an enumeration is. But if the value *is* important, " "enumerations can have arbitrary values." msgstr "" #: ../Doc/library/enum.rst:349 msgid "" "Enumerations are Python classes, and can have methods and special methods as " "usual. If we have this enumeration::" msgstr "" #: ../Doc/library/enum.rst:369 msgid "Then::" msgstr "" #: ../Doc/library/enum.rst:378 msgid "" "The rules for what is allowed are as follows: names that start and end with " "a single underscore are reserved by enum and cannot be used; all other " "attributes defined within an enumeration will become members of this " "enumeration, with the exception of special methods (:meth:`__str__`, :meth:" "`__add__`, etc.), descriptors (methods are also descriptors), and variable " "names listed in :attr:`_ignore_`." msgstr "" #: ../Doc/library/enum.rst:385 msgid "" "Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` " "then whatever value(s) were given to the enum member will be passed into " "those methods. See `Planet`_ for an example." msgstr "" #: ../Doc/library/enum.rst:391 msgid "Restricted subclassing of enumerations" msgstr "" #: ../Doc/library/enum.rst:393 msgid "" "Subclassing an enumeration is allowed only if the enumeration does not " "define any members. So this is forbidden::" msgstr "" #: ../Doc/library/enum.rst:403 msgid "But this is allowed::" msgstr "" #: ../Doc/library/enum.rst:414 msgid "" "Allowing subclassing of enums that define members would lead to a violation " "of some important invariants of types and instances. On the other hand, it " "makes sense to allow sharing some common behavior between a group of " "enumerations. (See `OrderedEnum`_ for an example.)" msgstr "" #: ../Doc/library/enum.rst:421 msgid "Pickling" msgstr "" #: ../Doc/library/enum.rst:423 msgid "Enumerations can be pickled and unpickled::" msgstr "" #: ../Doc/library/enum.rst:430 msgid "" "The usual restrictions for pickling apply: picklable enums must be defined " "in the top level of a module, since unpickling requires them to be " "importable from that module." msgstr "" #: ../Doc/library/enum.rst:436 msgid "" "With pickle protocol version 4 it is possible to easily pickle enums nested " "in other classes." msgstr "" #: ../Doc/library/enum.rst:439 msgid "" "It is possible to modify how Enum members are pickled/unpickled by defining :" "meth:`__reduce_ex__` in the enumeration class." msgstr "" #: ../Doc/library/enum.rst:444 msgid "Functional API" msgstr "" #: ../Doc/library/enum.rst:446 msgid "" "The :class:`Enum` class is callable, providing the following functional API::" msgstr "" #: ../Doc/library/enum.rst:458 msgid "" "The semantics of this API resemble :class:`~collections.namedtuple`. The " "first argument of the call to :class:`Enum` is the name of the enumeration." msgstr "" #: ../Doc/library/enum.rst:461 msgid "" "The second argument is the *source* of enumeration member names. It can be " "a whitespace-separated string of names, a sequence of names, a sequence of 2-" "tuples with key/value pairs, or a mapping (e.g. dictionary) of names to " "values. The last two options enable assigning arbitrary values to " "enumerations; the others auto-assign increasing integers starting with 1 " "(use the ``start`` parameter to specify a different starting value). A new " "class derived from :class:`Enum` is returned. In other words, the above " "assignment to :class:`Animal` is equivalent to::" msgstr "" #: ../Doc/library/enum.rst:477 msgid "" "The reason for defaulting to ``1`` as the starting number and not ``0`` is " "that ``0`` is ``False`` in a boolean sense, but enum members all evaluate to " "``True``." msgstr "" #: ../Doc/library/enum.rst:481 msgid "" "Pickling enums created with the functional API can be tricky as frame stack " "implementation details are used to try and figure out which module the " "enumeration is being created in (e.g. it will fail if you use a utility " "function in separate module, and also may not work on IronPython or Jython). " "The solution is to specify the module name explicitly as follows::" msgstr "" #: ../Doc/library/enum.rst:491 msgid "" "If ``module`` is not supplied, and Enum cannot determine what it is, the new " "Enum members will not be unpicklable; to keep errors closer to the source, " "pickling will be disabled." msgstr "" #: ../Doc/library/enum.rst:495 msgid "" "The new pickle protocol 4 also, in some circumstances, relies on :attr:" "`~definition.__qualname__` being set to the location where pickle will be " "able to find the class. For example, if the class was made available in " "class SomeData in the global scope::" msgstr "" #: ../Doc/library/enum.rst:502 msgid "The complete signature is::" msgstr "" #: ../Doc/library/enum.rst:0 msgid "value" msgstr "valeur" #: ../Doc/library/enum.rst:506 msgid "What the new Enum class will record as its name." msgstr "" #: ../Doc/library/enum.rst:0 msgid "names" msgstr "" #: ../Doc/library/enum.rst:508 msgid "" "The Enum members. This can be a whitespace or comma separated string " "(values will start at 1 unless otherwise specified)::" msgstr "" #: ../Doc/library/enum.rst:513 msgid "or an iterator of names::" msgstr "" #: ../Doc/library/enum.rst:517 msgid "or an iterator of (name, value) pairs::" msgstr "" #: ../Doc/library/enum.rst:521 msgid "or a mapping::" msgstr "" #: ../Doc/library/enum.rst:0 msgid "module" msgstr "module" #: ../Doc/library/enum.rst:525 msgid "name of module where new Enum class can be found." msgstr "" #: ../Doc/library/enum.rst:0 msgid "qualname" msgstr "" #: ../Doc/library/enum.rst:527 msgid "where in module new Enum class can be found." msgstr "" #: ../Doc/library/enum.rst:0 msgid "type" msgstr "type" #: ../Doc/library/enum.rst:529 msgid "type to mix in to new Enum class." msgstr "" #: ../Doc/library/enum.rst:0 msgid "start" msgstr "" #: ../Doc/library/enum.rst:531 msgid "number to start counting at if only names are passed in." msgstr "" #: ../Doc/library/enum.rst:533 msgid "The *start* parameter was added." msgstr "" #: ../Doc/library/enum.rst:538 msgid "Derived Enumerations" msgstr "" #: ../Doc/library/enum.rst:541 msgid "IntEnum" msgstr "IntEnum" #: ../Doc/library/enum.rst:543 msgid "" "The first variation of :class:`Enum` that is provided is also a subclass of :" "class:`int`. Members of an :class:`IntEnum` can be compared to integers; by " "extension, integer enumerations of different types can also be compared to " "each other::" msgstr "" #: ../Doc/library/enum.rst:564 msgid "" "However, they still can't be compared to standard :class:`Enum` " "enumerations::" msgstr "" #: ../Doc/library/enum.rst:577 msgid "" ":class:`IntEnum` values behave like integers in other ways you'd expect::" msgstr "" #: ../Doc/library/enum.rst:588 msgid "IntFlag" msgstr "" #: ../Doc/library/enum.rst:590 msgid "" "The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " "based on :class:`int`. The difference being :class:`IntFlag` members can be " "combined using the bitwise operators (&, \\|, ^, ~) and the result is still " "an :class:`IntFlag` member. However, as the name implies, :class:`IntFlag` " "members also subclass :class:`int` and can be used wherever an :class:`int` " "is used. Any operation on an :class:`IntFlag` member besides the bit-wise " "operations will lose the :class:`IntFlag` membership." msgstr "" #: ../Doc/library/enum.rst:600 msgid "Sample :class:`IntFlag` class::" msgstr "" #: ../Doc/library/enum.rst:616 msgid "It is also possible to name the combinations::" msgstr "" #: ../Doc/library/enum.rst:628 msgid "" "Another important difference between :class:`IntFlag` and :class:`Enum` is " "that if no flags are set (the value is 0), its boolean evaluation is :data:" "`False`::" msgstr "" #: ../Doc/library/enum.rst:636 msgid "" "Because :class:`IntFlag` members are also subclasses of :class:`int` they " "can be combined with them::" msgstr "" #: ../Doc/library/enum.rst:644 msgid "Flag" msgstr "Option" #: ../Doc/library/enum.rst:646 msgid "" "The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " "members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike :" "class:`IntFlag`, they cannot be combined with, nor compared against, any " "other :class:`Flag` enumeration, nor :class:`int`. While it is possible to " "specify the values directly it is recommended to use :class:`auto` as the " "value and let :class:`Flag` select an appropriate value." msgstr "" #: ../Doc/library/enum.rst:655 msgid "" "Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " "no flags being set, the boolean evaluation is :data:`False`::" msgstr "" #: ../Doc/library/enum.rst:669 msgid "" "Individual flags should have values that are powers of two (1, 2, 4, " "8, ...), while combinations of flags won't::" msgstr "" #: ../Doc/library/enum.rst:681 msgid "" "Giving a name to the \"no flags set\" condition does not change its boolean " "value::" msgstr "" #: ../Doc/library/enum.rst:697 msgid "" "For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " "recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic " "promises of an enumeration (by being comparable to integers, and thus by " "transitivity to other unrelated enumerations). :class:`IntEnum` and :class:" "`IntFlag` should be used only in cases where :class:`Enum` and :class:`Flag` " "will not do; for example, when integer constants are replaced with " "enumerations, or for interoperability with other systems." msgstr "" #: ../Doc/library/enum.rst:707 msgid "Others" msgstr "Autres" #: ../Doc/library/enum.rst:709 msgid "" "While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " "simple to implement independently::" msgstr "" #: ../Doc/library/enum.rst:715 msgid "" "This demonstrates how similar derived enumerations can be defined; for " "example a :class:`StrEnum` that mixes in :class:`str` instead of :class:" "`int`." msgstr "" #: ../Doc/library/enum.rst:718 msgid "Some rules:" msgstr "" #: ../Doc/library/enum.rst:720 msgid "" "When subclassing :class:`Enum`, mix-in types must appear before :class:" "`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example " "above." msgstr "" #: ../Doc/library/enum.rst:723 msgid "" "While :class:`Enum` can have members of any type, once you mix in an " "additional type, all the members must have values of that type, e.g. :class:" "`int` above. This restriction does not apply to mix-ins which only add " "methods and don't specify another data type such as :class:`int` or :class:" "`str`." msgstr "" #: ../Doc/library/enum.rst:728 msgid "" "When another data type is mixed in, the :attr:`value` attribute is *not the " "same* as the enum member itself, although it is equivalent and will compare " "equal." msgstr "" #: ../Doc/library/enum.rst:731 msgid "" "%-style formatting: `%s` and `%r` call the :class:`Enum` class's :meth:" "`__str__` and :meth:`__repr__` respectively; other codes (such as `%i` or `" "%h` for IntEnum) treat the enum member as its mixed-in type." msgstr "" #: ../Doc/library/enum.rst:734 msgid "" ":ref:`Formatted string literals `, :meth:`str.format`, and :func:" "`format` will use the mixed-in type's :meth:`__format__`. If the :class:" "`Enum` class's :func:`str` or :func:`repr` is desired, use the `!s` or `!r` " "format codes." msgstr "" #: ../Doc/library/enum.rst:741 msgid "Interesting examples" msgstr "" #: ../Doc/library/enum.rst:743 msgid "" "While :class:`Enum`, :class:`IntEnum`, :class:`IntFlag`, and :class:`Flag` " "are expected to cover the majority of use-cases, they cannot cover them " "all. Here are recipes for some different types of enumerations that can be " "used directly, or as examples for creating one's own." msgstr "" #: ../Doc/library/enum.rst:750 msgid "Omitting values" msgstr "" #: ../Doc/library/enum.rst:752 msgid "" "In many use-cases one doesn't care what the actual value of an enumeration " "is. There are several ways to define this type of simple enumeration:" msgstr "" #: ../Doc/library/enum.rst:755 msgid "use instances of :class:`auto` for the value" msgstr "" #: ../Doc/library/enum.rst:756 msgid "use instances of :class:`object` as the value" msgstr "" #: ../Doc/library/enum.rst:757 msgid "use a descriptive string as the value" msgstr "" #: ../Doc/library/enum.rst:758 msgid "" "use a tuple as the value and a custom :meth:`__new__` to replace the tuple " "with an :class:`int` value" msgstr "" #: ../Doc/library/enum.rst:761 msgid "" "Using any of these methods signifies to the user that these values are not " "important, and also enables one to add, remove, or reorder members without " "having to renumber the remaining members." msgstr "" #: ../Doc/library/enum.rst:765 msgid "" "Whichever method you choose, you should provide a :meth:`repr` that also " "hides the (unimportant) value::" msgstr "" #: ../Doc/library/enum.rst:775 msgid "Using :class:`auto`" msgstr "" #: ../Doc/library/enum.rst:777 msgid "Using :class:`auto` would look like::" msgstr "" #: ../Doc/library/enum.rst:789 msgid "Using :class:`object`" msgstr "" #: ../Doc/library/enum.rst:791 msgid "Using :class:`object` would look like::" msgstr "" #: ../Doc/library/enum.rst:803 msgid "Using a descriptive string" msgstr "" #: ../Doc/library/enum.rst:805 msgid "Using a string as the value would look like::" msgstr "" #: ../Doc/library/enum.rst:819 msgid "Using a custom :meth:`__new__`" msgstr "" #: ../Doc/library/enum.rst:821 msgid "Using an auto-numbering :meth:`__new__` would look like::" msgstr "" #: ../Doc/library/enum.rst:843 msgid "" "The :meth:`__new__` method, if defined, is used during creation of the Enum " "members; it is then replaced by Enum's :meth:`__new__` which is used after " "class creation for lookup of existing members." msgstr "" #: ../Doc/library/enum.rst:849 msgid "OrderedEnum" msgstr "OrderedEnum" #: ../Doc/library/enum.rst:851 msgid "" "An ordered enumeration that is not based on :class:`IntEnum` and so " "maintains the normal :class:`Enum` invariants (such as not being comparable " "to other enumerations)::" msgstr "" #: ../Doc/library/enum.rst:885 msgid "DuplicateFreeEnum" msgstr "DuplicateFreeEnum" #: ../Doc/library/enum.rst:887 msgid "" "Raises an error if a duplicate member name is found instead of creating an " "alias::" msgstr "" #: ../Doc/library/enum.rst:912 msgid "" "This is a useful example for subclassing Enum to add or change other " "behaviors as well as disallowing aliases. If the only desired change is " "disallowing aliases, the :func:`unique` decorator can be used instead." msgstr "" #: ../Doc/library/enum.rst:918 msgid "Planet" msgstr "" #: ../Doc/library/enum.rst:920 msgid "" "If :meth:`__new__` or :meth:`__init__` is defined the value of the enum " "member will be passed to those methods::" msgstr "" #: ../Doc/library/enum.rst:948 msgid "TimePeriod" msgstr "" #: ../Doc/library/enum.rst:950 msgid "An example to show the :attr:`_ignore_` attribute in use::" msgstr "" #: ../Doc/library/enum.rst:967 msgid "How are Enums different?" msgstr "" #: ../Doc/library/enum.rst:969 msgid "" "Enums have a custom metaclass that affects many aspects of both derived Enum " "classes and their instances (members)." msgstr "" #: ../Doc/library/enum.rst:974 msgid "Enum Classes" msgstr "" #: ../Doc/library/enum.rst:976 msgid "" "The :class:`EnumMeta` metaclass is responsible for providing the :meth:" "`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that " "allow one to do things with an :class:`Enum` class that fail on a typical " "class, such as `list(Color)` or `some_enum_var in Color`. :class:`EnumMeta` " "is responsible for ensuring that various other methods on the final :class:" "`Enum` class are correct (such as :meth:`__new__`, :meth:`__getnewargs__`, :" "meth:`__str__` and :meth:`__repr__`)." msgstr "" #: ../Doc/library/enum.rst:986 msgid "Enum Members (aka instances)" msgstr "" #: ../Doc/library/enum.rst:988 msgid "" "The most interesting thing about Enum members is that they are singletons. :" "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." msgstr "" #: ../Doc/library/enum.rst:996 msgid "Finer Points" msgstr "" #: ../Doc/library/enum.rst:999 msgid "Supported ``__dunder__`` names" msgstr "" #: ../Doc/library/enum.rst:1001 msgid "" ":attr:`__members__` is an :class:`OrderedDict` of ``member_name``:``member`` " "items. It is only available on the class." msgstr "" #: ../Doc/library/enum.rst:1004 msgid "" ":meth:`__new__`, if specified, must create and return the enum members; it " "is also a very good idea to set the member's :attr:`_value_` appropriately. " "Once all the members are created it is no longer used." msgstr "" #: ../Doc/library/enum.rst:1010 msgid "Supported ``_sunder_`` names" msgstr "" #: ../Doc/library/enum.rst:1012 msgid "``_name_`` -- name of the member" msgstr "" #: ../Doc/library/enum.rst:1013 msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" #: ../Doc/library/enum.rst:1015 msgid "" "``_missing_`` -- a lookup function used when a value is not found; may be " "overridden" msgstr "" #: ../Doc/library/enum.rst:1017 msgid "" "``_ignore_`` -- a list of names, either as a :func:`list` or a :func:`str`, " "that will not be transformed into members, and will be removed from the " "final class" msgstr "" #: ../Doc/library/enum.rst:1020 msgid "" "``_order_`` -- used in Python 2/3 code to ensure member order is consistent " "(class attribute, removed during class creation)" msgstr "" #: ../Doc/library/enum.rst:1022 msgid "" "``_generate_next_value_`` -- used by the `Functional API`_ and by :class:" "`auto` to get an appropriate value for an enum member; may be overridden" msgstr "" #: ../Doc/library/enum.rst:1026 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" msgstr "" #: ../Doc/library/enum.rst:1027 msgid "``_ignore_``" msgstr "" #: ../Doc/library/enum.rst:1029 msgid "" "To help keep Python 2 / Python 3 code in sync an :attr:`_order_` attribute " "can be provided. It will be checked against the actual order of the " "enumeration and raise an error if the two do not match::" msgstr "" #: ../Doc/library/enum.rst:1045 msgid "" "In Python 2 code the :attr:`_order_` attribute is necessary as definition " "order is lost before it can be recorded." msgstr "" #: ../Doc/library/enum.rst:1049 msgid "``Enum`` member type" msgstr "" #: ../Doc/library/enum.rst:1051 msgid "" ":class:`Enum` members are instances of their :class:`Enum` class, and are " "normally accessed as ``EnumClass.member``. Under certain circumstances they " "can also be accessed as ``EnumClass.member.member``, but you should never do " "this as that lookup may fail or, worse, return something besides the :class:" "`Enum` member you are looking for (this is another good reason to use all-" "uppercase names for members)::" msgstr "" #: ../Doc/library/enum.rst:1072 msgid "Boolean value of ``Enum`` classes and members" msgstr "" #: ../Doc/library/enum.rst:1074 msgid "" ":class:`Enum` members that are mixed with non-:class:`Enum` types (such as :" "class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " "type's rules; otherwise, all members evaluate as :data:`True`. To make your " "own Enum's boolean evaluation depend on the member's value add the following " "to your class::" msgstr "" #: ../Doc/library/enum.rst:1083 msgid ":class:`Enum` classes always evaluate as :data:`True`." msgstr "" #: ../Doc/library/enum.rst:1087 msgid "``Enum`` classes with methods" msgstr "" #: ../Doc/library/enum.rst:1089 msgid "" "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::" msgstr "" #: ../Doc/library/enum.rst:1100 msgid "Combining members of ``Flag``" msgstr "" #: ../Doc/library/enum.rst:1102 msgid "" "If a combination of Flag members is not named, the :func:`repr` will include " "all named flags and all named combinations of flags that are in the value::" msgstr ""