# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-04-14 13:19+0200\n" "PO-Revision-Date: 2021-03-21 16:06+0100\n" "Last-Translator: Loc Cosnier \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" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Gtranslator 3.38.0\n" #: library/collections.abc.rst:2 msgid ":mod:`collections.abc` --- Abstract Base Classes for Containers" msgstr "" ":mod:`collections.abc` --- Classes de base abstraites pour les conteneurs" #: library/collections.abc.rst:10 msgid "Formerly, this module was part of the :mod:`collections` module." msgstr "Auparavant, ce module faisait partie du module :mod:`collections`." #: library/collections.abc.rst:13 msgid "**Source code:** :source:`Lib/_collections_abc.py`" msgstr "**Code source :** :source:`Lib/_collections_abc.py`" #: library/collections.abc.rst:23 #, fuzzy msgid "" "This module provides :term:`abstract base classes ` " "that can be used to test whether a class provides a particular interface; " "for example, whether it is :term:`hashable` or whether it is a mapping." msgstr "" "Ce module fournit :term:`des classes de base abstraites ` qui peuvent être utilisées pour vérifier si une classe fournit une " "interface particulière (par exemple, savoir s'il s'agit d'un hachable ou " "d'une table de correspondance)." #: library/collections.abc.rst:27 msgid "" "An :func:`issubclass` or :func:`isinstance` test for an interface works in " "one of three ways." msgstr "" #: library/collections.abc.rst:30 msgid "" "1) A newly written class can inherit directly from one of the abstract base " "classes. The class must supply the required abstract methods. The " "remaining mixin methods come from inheritance and can be overridden if " "desired. Other methods may be added as needed:" msgstr "" #: library/collections.abc.rst:50 msgid "" "2) Existing classes and built-in classes can be registered as \"virtual " "subclasses\" of the ABCs. Those classes should define the full API " "including all of the abstract methods and all of the mixin methods. This " "lets users rely on :func:`issubclass` or :func:`isinstance` tests to " "determine whether the full interface is supported. The exception to this " "rule is for methods that are automatically inferred from the rest of the API:" msgstr "" #: library/collections.abc.rst:76 msgid "" "In this example, class :class:`D` does not need to define ``__contains__``, " "``__iter__``, and ``__reversed__`` because the :ref:`in-operator " "`, the :term:`iteration ` logic, and the :func:" "`reversed` function automatically fall back to using ``__getitem__`` and " "``__len__``." msgstr "" #: library/collections.abc.rst:82 msgid "" "3) Some simple interfaces are directly recognizable by the presence of the " "required methods (unless those methods have been set to :const:`None`):" msgstr "" #: library/collections.abc.rst:99 msgid "" "Complex interfaces do not support this last technique because an interface " "is more than just the presence of method names. Interfaces specify " "semantics and relationships between methods that cannot be inferred solely " "from the presence of specific method names. For example, knowing that a " "class supplies ``__getitem__``, ``__len__``, and ``__iter__`` is " "insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`." msgstr "" #: library/collections.abc.rst:107 msgid "" "These abstract classes now support ``[]``. See :ref:`types-genericalias` " "and :pep:`585`." msgstr "" #: library/collections.abc.rst:114 msgid "Collections Abstract Base Classes" msgstr "Classes de base abstraites de collections" #: library/collections.abc.rst:116 msgid "" "The collections module offers the following :term:`ABCs `:" msgstr "" "Le module collections apporte les :term:`ABC ` " "suivantes :" #: library/collections.abc.rst:121 msgid "ABC" msgstr "ABC" #: library/collections.abc.rst:121 msgid "Inherits from" msgstr "Hérite de" #: library/collections.abc.rst:121 msgid "Abstract Methods" msgstr "Méthodes abstraites" #: library/collections.abc.rst:121 msgid "Mixin Methods" msgstr "Méthodes *mixin*" #: library/collections.abc.rst:123 #, fuzzy msgid ":class:`Container` [1]_" msgstr ":class:`Container`" #: library/collections.abc.rst:123 msgid "``__contains__``" msgstr "``__contains__``" #: library/collections.abc.rst:124 #, fuzzy msgid ":class:`Hashable` [1]_" msgstr ":class:`Hashable`" #: library/collections.abc.rst:124 msgid "``__hash__``" msgstr "``__hash__``" #: library/collections.abc.rst:125 #, fuzzy msgid ":class:`Iterable` [1]_ [2]_" msgstr ":class:`Iterable`" #: library/collections.abc.rst:125 library/collections.abc.rst:126 msgid "``__iter__``" msgstr "``__iter__``" #: library/collections.abc.rst:126 #, fuzzy msgid ":class:`Iterator` [1]_" msgstr ":class:`Iterator`" #: library/collections.abc.rst:126 library/collections.abc.rst:127 msgid ":class:`Iterable`" msgstr ":class:`Iterable`" #: library/collections.abc.rst:126 msgid "``__next__``" msgstr "``__next__``" #: library/collections.abc.rst:127 #, fuzzy msgid ":class:`Reversible` [1]_" msgstr ":class:`Reversible`" #: library/collections.abc.rst:127 msgid "``__reversed__``" msgstr "``__reversed__``" #: library/collections.abc.rst:128 #, fuzzy msgid ":class:`Generator` [1]_" msgstr ":class:`Generator`" #: library/collections.abc.rst:128 msgid ":class:`Iterator`" msgstr ":class:`Iterator`" #: library/collections.abc.rst:128 library/collections.abc.rst:176 msgid "``send``, ``throw``" msgstr "``send``, ``throw``" #: library/collections.abc.rst:128 msgid "``close``, ``__iter__``, ``__next__``" msgstr "``close``, ``__iter__``, ``__next__``" #: library/collections.abc.rst:129 #, fuzzy msgid ":class:`Sized` [1]_" msgstr ":class:`Sized`" #: library/collections.abc.rst:129 library/collections.abc.rst:168 msgid "``__len__``" msgstr "``__len__``" #: library/collections.abc.rst:130 #, fuzzy msgid ":class:`Callable` [1]_" msgstr ":class:`Callable`" #: library/collections.abc.rst:130 msgid "``__call__``" msgstr "``__call__``" #: library/collections.abc.rst:131 #, fuzzy msgid ":class:`Collection` [1]_" msgstr ":class:`Collection`" #: library/collections.abc.rst:131 msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" msgstr ":class:`Sized`, :class:`Iterable`, :class:`Container`" #: library/collections.abc.rst:131 library/collections.abc.rst:147 msgid "``__contains__``, ``__iter__``, ``__len__``" msgstr "``__contains__``, ``__iter__``, ``__len__``" #: library/collections.abc.rst:135 library/collections.abc.rst:138 #: library/collections.abc.rst:144 msgid ":class:`Sequence`" msgstr ":class:`Sequence`" #: library/collections.abc.rst:135 msgid ":class:`Reversible`, :class:`Collection`" msgstr ":class:`Reversible`, :class:`Collection`" #: library/collections.abc.rst:135 library/collections.abc.rst:144 msgid "``__getitem__``, ``__len__``" msgstr "``__getitem__``, ``__len__``" #: library/collections.abc.rst:135 msgid "" "``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``" msgstr "" "``__contains__``, ``__iter__``, ``__reversed__``, ``index`` et ``count``" #: library/collections.abc.rst:138 msgid ":class:`MutableSequence`" msgstr ":class:`MutableSequence`" #: library/collections.abc.rst:138 msgid "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" msgstr "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" #: library/collections.abc.rst:138 msgid "" "Inherited :class:`Sequence` methods and ``append``, ``reverse``, ``extend``, " "``pop``, ``remove``, and ``__iadd__``" msgstr "" "Méthodes héritées de :class:`Sequence`, et ``append``, ``reverse``, " "``extend``, ``pop``, ``remove`` et ``__iadd__``" #: library/collections.abc.rst:144 msgid ":class:`ByteString`" msgstr ":class:`ByteString`" #: library/collections.abc.rst:144 msgid "Inherited :class:`Sequence` methods" msgstr "Méthodes héritées de :class:`Sequence`" #: library/collections.abc.rst:147 library/collections.abc.rst:151 msgid ":class:`Set`" msgstr ":class:`Set`" #: library/collections.abc.rst:147 library/collections.abc.rst:157 msgid ":class:`Collection`" msgstr ":class:`Collection`" #: library/collections.abc.rst:147 msgid "" "``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " "``__and__``, ``__or__``, ``__sub__``, ``__xor__``, and ``isdisjoint``" msgstr "" "``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " "``__and__``, ``__or__``, ``__sub__``, ``__xor__`` et ``isdisjoint``" #: library/collections.abc.rst:151 msgid ":class:`MutableSet`" msgstr ":class:`MutableSet`" #: library/collections.abc.rst:151 msgid "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" msgstr "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" #: library/collections.abc.rst:151 msgid "" "Inherited :class:`Set` methods and ``clear``, ``pop``, ``remove``, " "``__ior__``, ``__iand__``, ``__ixor__``, and ``__isub__``" msgstr "" "Méthodes héritées de :class:`Set`, et ``clear``, ``pop``, ``remove``, " "``__ior__``, ``__iand__``, ``__ixor__`` et ``__isub__``" #: library/collections.abc.rst:157 library/collections.abc.rst:161 msgid ":class:`Mapping`" msgstr ":class:`Mapping`" #: library/collections.abc.rst:157 msgid "``__getitem__``, ``__iter__``, ``__len__``" msgstr "``__getitem__``, ``__iter__``, ``__len__``" #: library/collections.abc.rst:157 msgid "" "``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, and " "``__ne__``" msgstr "" "``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__`` et " "``__ne__``" #: library/collections.abc.rst:161 msgid ":class:`MutableMapping`" msgstr ":class:`MutableMapping`" #: library/collections.abc.rst:161 msgid "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" msgstr "" "``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" #: library/collections.abc.rst:161 msgid "" "Inherited :class:`Mapping` methods and ``pop``, ``popitem``, ``clear``, " "``update``, and ``setdefault``" msgstr "" "Méthodes héritées de :class:`Mapping`, et ``pop``, ``popitem``, ``clear``, " "``update`` et ``setdefault``" #: library/collections.abc.rst:168 msgid ":class:`MappingView`" msgstr ":class:`MappingView`" #: library/collections.abc.rst:168 msgid ":class:`Sized`" msgstr ":class:`Sized`" #: library/collections.abc.rst:169 msgid ":class:`ItemsView`" msgstr ":class:`ItemsView`" #: library/collections.abc.rst:169 library/collections.abc.rst:171 msgid ":class:`MappingView`, :class:`Set`" msgstr ":class:`MappingView`, :class:`Set`" #: library/collections.abc.rst:169 library/collections.abc.rst:171 #: library/collections.abc.rst:173 msgid "``__contains__``, ``__iter__``" msgstr "``__contains__``, ``__iter__``" #: library/collections.abc.rst:171 msgid ":class:`KeysView`" msgstr ":class:`KeysView`" #: library/collections.abc.rst:173 msgid ":class:`ValuesView`" msgstr ":class:`ValuesView`" #: library/collections.abc.rst:173 msgid ":class:`MappingView`, :class:`Collection`" msgstr ":class:`MappingView`, :class:`Collection`" #: library/collections.abc.rst:175 #, fuzzy msgid ":class:`Awaitable` [1]_" msgstr ":class:`Awaitable`" #: library/collections.abc.rst:175 msgid "``__await__``" msgstr "``__await__``" #: library/collections.abc.rst:176 #, fuzzy msgid ":class:`Coroutine` [1]_" msgstr ":class:`Coroutine`" #: library/collections.abc.rst:176 msgid ":class:`Awaitable`" msgstr ":class:`Awaitable`" #: library/collections.abc.rst:176 msgid "``close``" msgstr "``close``" #: library/collections.abc.rst:177 #, fuzzy msgid ":class:`AsyncIterable` [1]_" msgstr ":class:`AsyncIterable`" #: library/collections.abc.rst:177 library/collections.abc.rst:178 msgid "``__aiter__``" msgstr "``__aiter__``" #: library/collections.abc.rst:178 #, fuzzy msgid ":class:`AsyncIterator` [1]_" msgstr ":class:`AsyncIterator`" #: library/collections.abc.rst:178 msgid ":class:`AsyncIterable`" msgstr ":class:`AsyncIterable`" #: library/collections.abc.rst:178 msgid "``__anext__``" msgstr "``__anext__``" #: library/collections.abc.rst:179 #, fuzzy msgid ":class:`AsyncGenerator` [1]_" msgstr ":class:`AsyncGenerator`" #: library/collections.abc.rst:179 msgid ":class:`AsyncIterator`" msgstr ":class:`AsyncIterator`" #: library/collections.abc.rst:179 msgid "``asend``, ``athrow``" msgstr "``asend``, ``athrow``" #: library/collections.abc.rst:179 msgid "``aclose``, ``__aiter__``, ``__anext__``" msgstr "``aclose``, ``__aiter__``, ``__anext__``" #: library/collections.abc.rst:184 msgid "Footnotes" msgstr "" #: library/collections.abc.rst:185 msgid "" "These ABCs override :meth:`object.__subclasshook__` to support testing an " "interface by verifying the required methods are present and have not been " "set to :const:`None`. This only works for simple interfaces. More complex " "interfaces require registration or direct subclassing." msgstr "" #: library/collections.abc.rst:191 #, fuzzy msgid "" "Checking ``isinstance(obj, Iterable)`` detects classes that are registered " "as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " "not detect classes that iterate with the :meth:`__getitem__` method. The " "only reliable way to determine whether an object is :term:`iterable` is to " "call ``iter(obj)``." msgstr "" "Évaluer ``isinstance(obj, Iterable)`` détecte les classes qui sont " "enregistrées comme :class:`Iterable` ou qui possèdent une méthode :meth:" "`__iter__`, mais ne détecte pas les classes qui itèrent avec la méthode :" "meth:`__getitem__`. Le seul moyen fiable de déterminer si un objet est :term:" "`itérable ` est d'appeler ``iter(obj)``." #: library/collections.abc.rst:199 #, fuzzy msgid "Collections Abstract Base Classes -- Detailed Descriptions" msgstr "Classes de base abstraites de collections" #: library/collections.abc.rst:204 msgid "ABC for classes that provide the :meth:`__contains__` method." msgstr "ABC pour les classes qui définissent la méthode :meth:`__contains__`." #: library/collections.abc.rst:208 msgid "ABC for classes that provide the :meth:`__hash__` method." msgstr "ABC pour les classes qui définissent la méthode :meth:`__hash__`." #: library/collections.abc.rst:212 msgid "ABC for classes that provide the :meth:`__len__` method." msgstr "ABC pour les classes qui définissent la méthode :meth:`__len__`." #: library/collections.abc.rst:216 msgid "ABC for classes that provide the :meth:`__call__` method." msgstr "ABC pour les classes qui définissent la méthode :meth:`__call__`." #: library/collections.abc.rst:220 msgid "ABC for classes that provide the :meth:`__iter__` method." msgstr "ABC pour les classes qui définissent la méthode :meth:`__iter__`." #: library/collections.abc.rst:222 msgid "" "Checking ``isinstance(obj, Iterable)`` detects classes that are registered " "as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " "not detect classes that iterate with the :meth:`__getitem__` method. The " "only reliable way to determine whether an object is :term:`iterable` is to " "call ``iter(obj)``." msgstr "" "Évaluer ``isinstance(obj, Iterable)`` détecte les classes qui sont " "enregistrées comme :class:`Iterable` ou qui possèdent une méthode :meth:" "`__iter__`, mais ne détecte pas les classes qui itèrent avec la méthode :" "meth:`__getitem__`. Le seul moyen fiable de déterminer si un objet est :term:" "`itérable ` est d'appeler ``iter(obj)``." #: library/collections.abc.rst:230 msgid "ABC for sized iterable container classes." msgstr "ABC pour les classes de conteneurs itérables et *sized*." #: library/collections.abc.rst:236 msgid "" "ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:" "`~iterator.__next__` methods. See also the definition of :term:`iterator`." msgstr "" "ABC pour les classes qui définissent les méthodes :meth:`~iterator.__iter__` " "et :meth:`~iterator.__next__`. Voir aussi la définition d':term:`itérateur " "`." #: library/collections.abc.rst:242 msgid "" "ABC for iterable classes that also provide the :meth:`__reversed__` method." msgstr "" "ABC pour les classes d'itérables qui implémentent également la méthode :meth:" "`__reversed__`." #: library/collections.abc.rst:249 msgid "" "ABC for generator classes that implement the protocol defined in :pep:`342` " "that extends iterators with the :meth:`~generator.send`, :meth:`~generator." "throw` and :meth:`~generator.close` methods. See also the definition of :" "term:`generator`." msgstr "" "ABC pour les classes de générateurs qui implémentent le protocole défini " "dans la :pep:`342` qui étend les itérateurs avec les méthodes :meth:" "`~generator.send`, :meth:`~generator.throw` et :meth:`~generator.close`. " "Voir aussi la définition de :term:`générateur `." #: library/collections.abc.rst:260 msgid "ABCs for read-only and mutable :term:`sequences `." msgstr "ABC pour les :term:`séquences ` immuables et muables." #: library/collections.abc.rst:262 msgid "" "Implementation note: Some of the mixin methods, such as :meth:`__iter__`, :" "meth:`__reversed__` and :meth:`index`, make repeated calls to the " "underlying :meth:`__getitem__` method. Consequently, if :meth:`__getitem__` " "is implemented with constant access speed, the mixin methods will have " "linear performance; however, if the underlying method is linear (as it would " "be with a linked list), the mixins will have quadratic performance and will " "likely need to be overridden." msgstr "" "Note pour l'implémentation : quelques méthodes *mixin*, comme :meth:" "`__iter__`, :meth:`__reversed__` et :meth:`index`, font des appels répétés à " "la méthode sous-jacente :meth:`__getitem__`. Ainsi, si :meth:`__getitem__` " "est implémentée avec une vitesse d'accès constante, les méthodes *mixin* " "auront une performance linéaire ; cependant, si elle est linéaire, les " "*mixin* auront une performance quadratique, il serait alors judicieux de les " "surcharger." #: library/collections.abc.rst:271 msgid "The index() method added support for *stop* and *start* arguments." msgstr "" "La méthode index() a ajouté le support des arguments *start* et *stop*." #: library/collections.abc.rst:278 msgid "ABCs for read-only and mutable sets." msgstr "ABC pour les ensembles immuables et muables." #: library/collections.abc.rst:283 msgid "ABCs for read-only and mutable :term:`mappings `." msgstr "" "ABC pour les :term:`tables de correspondances ` immuables et " "muables." #: library/collections.abc.rst:290 msgid "" "ABCs for mapping, items, keys, and values :term:`views `." msgstr "" "ABC pour les :term:`vues` de *mappings* (tableaux de " "correspondances), d'éléments, de clés et de valeurs." #: library/collections.abc.rst:294 msgid "" "ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " "expressions. Custom implementations must provide the :meth:`__await__` " "method." msgstr "" "ABC pour les objets :term:`awaitables `, qui peuvent être " "utilisés dans les expressions :keyword:`await`. Les implémentations " "personnalisées doivent définir la méthode :meth:`__await__`." #: library/collections.abc.rst:298 msgid "" ":term:`Coroutine ` objects and instances of the :class:" "`~collections.abc.Coroutine` ABC are all instances of this ABC." msgstr "" "Les objets :term:`coroutines ` et les instances de l'ABC :class:" "`~collections.abc.Coroutine` sont tous des instances de cette ABC." #: library/collections.abc.rst:302 #, fuzzy msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine`) are *awaitables*, even though they do not have an :meth:" "`__await__` method. Using ``isinstance(gencoro, Awaitable)`` for them will " "return ``False``. Use :func:`inspect.isawaitable` to detect them." msgstr "" "En CPython, les coroutines basées sur les générateurs (les générateurs " "décorés avec :func:`types.coroutine` ou :func:`asyncio.coroutine`) sont " "*awaitables*, bien qu'elles n'aient pas de méthode :meth:`__await__`. " "Évaluer ``isinstance(gencoro, Awaitable)`` où ``gencoro`` est un générateur " "décoré va renvoyer ``False``. Utilisez :func:`inspect.isawaitable` pour les " "détecter." #: library/collections.abc.rst:312 msgid "" "ABC for coroutine compatible classes. These implement the following " "methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:" "`~coroutine.throw`, and :meth:`~coroutine.close`. Custom implementations " "must also implement :meth:`__await__`. All :class:`Coroutine` instances are " "also instances of :class:`Awaitable`. See also the definition of :term:" "`coroutine`." msgstr "" "ABC pour les classes compatibles avec les coroutines. Elles implémentent les " "méthodes suivantes, définies dans :ref:`coroutine-objects` : :meth:" "`~coroutine.send`, :meth:`~coroutine.throw` et :meth:`~coroutine.close`. Les " "implémentations personnalisées doivent également fournir :meth:`__await__`. " "Toutes les instances de :class:`Coroutine` sont également des instances de :" "class:`Awaitable`. Voir aussi la définition de :term:`coroutine`." #: library/collections.abc.rst:320 #, fuzzy msgid "" "In CPython, generator-based coroutines (generators decorated with :func:" "`types.coroutine`) are *awaitables*, even though they do not have an :meth:" "`__await__` method. Using ``isinstance(gencoro, Coroutine)`` for them will " "return ``False``. Use :func:`inspect.isawaitable` to detect them." msgstr "" "En CPython, les coroutines basées sur les générateurs (les générateurs " "décorés avec :func:`types.coroutine` ou :func:`asyncio.coroutine`) sont " "*awaitables*, bien qu'elles n'aient pas de méthode :meth:`__await__`. " "Évaluer ``isinstance(gencoro, Corourine)`` où ``gencoro`` est un générateur " "décoré va renvoyer ``False``. Utilisez :func:`inspect.isawaitable` pour les " "détecter." #: library/collections.abc.rst:330 msgid "" "ABC for classes that provide ``__aiter__`` method. See also the definition " "of :term:`asynchronous iterable`." msgstr "" "ABC pour les classes qui définissent la méthode ``__aiter__``. Voir aussi la " "définition d':term:`itérable asynchrone `." #: library/collections.abc.rst:337 msgid "" "ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " "also the definition of :term:`asynchronous iterator`." msgstr "" "ABC pour les classes qui définissent les méthodes ``__aiter__`` et " "``__anext__``. Voir aussi la définition d':term:`itérateur asynchrone " "`." #: library/collections.abc.rst:344 msgid "" "ABC for asynchronous generator classes that implement the protocol defined " "in :pep:`525` and :pep:`492`." msgstr "" "ABC pour les classes de générateurs asynchrones qui implémentent le " "protocole défini dans la :pep:`525` et dans la :pep:`492`." #: library/collections.abc.rst:350 msgid "Examples and Recipes" msgstr "" #: library/collections.abc.rst:352 #, fuzzy msgid "" "ABCs allow us to ask classes or instances if they provide particular " "functionality, for example::" msgstr "" "Ces ABC permettent de demander à des classes ou à des instances si elles " "fournissent des fonctionnalités particulières, par exemple ::" #: library/collections.abc.rst:359 msgid "" "Several of the ABCs are also useful as mixins that make it easier to develop " "classes supporting container APIs. For example, to write a class supporting " "the full :class:`Set` API, it is only necessary to supply the three " "underlying abstract methods: :meth:`__contains__`, :meth:`__iter__`, and :" "meth:`__len__`. The ABC supplies the remaining methods such as :meth:" "`__and__` and :meth:`isdisjoint`::" msgstr "" "Une partie des ABC sont également utiles en tant que *mixins* : cela rend " "plus facile le développement de classes qui gèrent des API de conteneurs. " "Par exemple, pour écrire une classe qui gère l'API entière de :class:`Set`, " "il est uniquement nécessaire de fournir les trois méthodes sous-jacentes " "abstraites :meth:`__contains__`, :meth:`__iter__` et :meth:`__len__`. L'ABC " "apporte les méthodes restantes, comme :meth:`__and__` et :meth:" "`isdisjoint` ::" #: library/collections.abc.rst:388 msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:" msgstr "" "Notes à propos de l'utilisation de :class:`Set` et :class:`MutableSet` comme " "*mixin* :" #: library/collections.abc.rst:391 msgid "" "Since some set operations create new sets, the default mixin methods need a " "way to create new instances from an iterable. The class constructor is " "assumed to have a signature in the form ``ClassName(iterable)``. That " "assumption is factored-out to an internal classmethod called :meth:" "`_from_iterable` which calls ``cls(iterable)`` to produce a new set. If the :" "class:`Set` mixin is being used in a class with a different constructor " "signature, you will need to override :meth:`_from_iterable` with a " "classmethod or regular method that can construct new instances from an " "iterable argument." msgstr "" "Comme une partie des opérations sur les ensembles créent de nouveaux " "ensembles, les méthodes *mixins* par défaut ont besoin d'un moyen de créer " "de nouvelles instances à partir d'un itérable. Le constructeur de classe est " "supposé avoir une signature de la forme ``ClassName(iterable)``. Cette " "supposition est faite par une méthode de classe interne appelée :meth:" "`_from_iterable` qui appelle ``cls(iterable)`` pour construire un nouvel " "ensemble. Si le :class:`Set` *mixin* est utilisé dans une classe avec un " "constructeur de signature différente, vous devez surcharger :meth:" "`_from_iterable` avec une méthode de classe ou une méthode ordinaire qui " "peut construire de nouvelles instances à partir d'un argument itérable." #: library/collections.abc.rst:402 msgid "" "To override the comparisons (presumably for speed, as the semantics are " "fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other " "operations will automatically follow suit." msgstr "" "Pour surcharger les comparaisons (a priori pour la rapidité, puisque la " "sémantique est fixe), il faut redéfinir :meth:`__le__` et :meth:`__ge__`, " "puis les autres opérations seront automatiquement adaptées." #: library/collections.abc.rst:407 #, fuzzy msgid "" "The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash " "value for the set; however, :meth:`__hash__` is not defined because not all " "sets are :term:`hashable` or immutable. To add set hashability using " "mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then define " "``__hash__ = Set._hash``." msgstr "" "La classe *mixin* :class:`Set` apporte une méthode :meth:`_hash` pour " "calculer une valeur de hachage pour l'ensemble ; cependant :meth:`__hash__` " "n'est pas défini car tous les ensembles ne sont pas hachables ou immuables. " "Pour rendre un ensemble hachable en utilisant les *mixins*, héritez de :meth:" "`Set` et de :meth:`Hashable`, puis définissez ``__hash__ = Set._hash``." #: library/collections.abc.rst:415 msgid "" "`OrderedSet recipe `_ for an " "example built on :class:`MutableSet`." msgstr "" "`OrderedSet recipe `_ pour un " "exemple construit sur :class:`MutableSet`." #: library/collections.abc.rst:418 msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`." msgstr "" "Pour plus d'informations à propos des ABC, voir le module :mod:`abc` et la :" "pep:`3119`." #~ msgid "" #~ "ABCs for classes that provide respectively the methods :meth:" #~ "`__contains__`, :meth:`__hash__`, :meth:`__len__`, and :meth:`__call__`." #~ msgstr "" #~ "ABC pour les classes qui définissent respectivement les méthodes :meth:" #~ "`__contains__`, :meth:`__hash__`, :meth:`__len__` et :meth:`__call__`."