# 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: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: 2021-03-21 16:06+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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
msgid ""
"This module provides :term:`abstract base classes <abstract base class>` "
"that can be used to test whether a class provides a particular interface; "
"for example, whether it is hashable or whether it is a mapping."
msgstr ""
"Ce module fournit :term:`des classes de base abstraites <abstract base "
"class>` 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 "
"<comparisons>`, the :term:`iteration <iterable>` 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 <abstract base "
"class>`:"
msgstr ""
"Le module collections apporte les :term:`ABC <abstract base class>` "
"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 <iterable>` 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 <iterable>` 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 "
"<iterator>`."

#: 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 <generator>`."

#: library/collections.abc.rst:260
msgid "ABCs for read-only and mutable :term:`sequences <sequence>`."
msgstr "ABC pour les :term:`séquences <sequence>` 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 <mapping>`."
msgstr ""
"ABC pour les :term:`tables de correspondances <mapping>` immuables et "
"muables."

#: library/collections.abc.rst:290
msgid ""
"ABCs for mapping, items, keys, and values :term:`views <dictionary view>`."
msgstr ""
"ABC pour les :term:`vues<dictionary view>` 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 <awaitable>`, 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 <coroutine>` objects and instances of the :class:"
"`~collections.abc.Coroutine` ABC are all instances of this ABC."
msgstr ""
"Les objets :term:`coroutines <coroutine>` 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 <asynchronous iterable>`."

#: 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 "
"<asynchronous iterator>`."

#: 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
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 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 <https://code.activestate.com/recipes/576694/>`_ for an "
"example built on :class:`MutableSet`."
msgstr ""
"`OrderedSet recipe <https://code.activestate.com/recipes/576694/>`_ 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__`."
