# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-12 13:37+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../Doc/library/abc.rst:2
msgid ":mod:`abc` --- Abstract Base Classes"
msgstr ":mod:`abc` --- Classes de Base Abstraites"

#: ../Doc/library/abc.rst:11
msgid "**Source code:** :source:`Lib/abc.py`"
msgstr "**Code source:** :source:`Lib/abc.py`"

#: ../Doc/library/abc.rst:15
msgid ""
"This module provides the infrastructure for defining :term:`abstract base "
"classes <abstract base class>` (ABCs) in Python, as outlined in :pep:`3119`; "
"see the PEP for why this was added to Python. (See also :pep:`3141` and the :"
"mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)"
msgstr ""

#: ../Doc/library/abc.rst:20
msgid ""
"The :mod:`collections` module has some concrete classes that derive from "
"ABCs; these can, of course, be further derived. In addition the :mod:"
"`collections.abc` submodule has some ABCs that can be used to test whether a "
"class or instance provides a particular interface, for example, is it "
"hashable or a mapping."
msgstr ""

#: ../Doc/library/abc.rst:27
msgid ""
"This module provides the metaclass :class:`ABCMeta` for defining ABCs and a "
"helper class :class:`ABC` to alternatively define ABCs through inheritance:"
msgstr ""

#: ../Doc/library/abc.rst:32
msgid ""
"A helper class that has :class:`ABCMeta` as its metaclass.  With this class, "
"an abstract base class can be created by simply deriving from :class:`ABC` "
"avoiding sometimes confusing metaclass usage, for example::"
msgstr ""

#: ../Doc/library/abc.rst:41
msgid ""
"Note that the type of :class:`ABC` is still :class:`ABCMeta`, therefore "
"inheriting from :class:`ABC` requires the usual precautions regarding "
"metaclass usage, as multiple inheritance may lead to metaclass conflicts. "
"One may also define an abstract base class by passing the metaclass keyword "
"and using :class:`ABCMeta` directly, for example::"
msgstr ""

#: ../Doc/library/abc.rst:57
msgid "Metaclass for defining Abstract Base Classes (ABCs)."
msgstr ""

#: ../Doc/library/abc.rst:59
msgid ""
"Use this metaclass to create an ABC.  An ABC can be subclassed directly, and "
"then acts as a mix-in class.  You can also register unrelated concrete "
"classes (even built-in classes) and unrelated ABCs as \"virtual subclasses\" "
"-- these and their descendants will be considered subclasses of the "
"registering ABC by the built-in :func:`issubclass` function, but the "
"registering ABC won't show up in their MRO (Method Resolution Order) nor "
"will method implementations defined by the registering ABC be callable (not "
"even via :func:`super`). [#]_"
msgstr ""

#: ../Doc/library/abc.rst:68
msgid ""
"Classes created with a metaclass of :class:`ABCMeta` have the following "
"method:"
msgstr ""

#: ../Doc/library/abc.rst:72
msgid ""
"Register *subclass* as a \"virtual subclass\" of this ABC. For example::"
msgstr ""

#: ../Doc/library/abc.rst:85
msgid "Returns the registered subclass, to allow usage as a class decorator."
msgstr ""

#: ../Doc/library/abc.rst:88
msgid ""
"To detect calls to :meth:`register`, you can use the :func:`get_cache_token` "
"function."
msgstr ""

#: ../Doc/library/abc.rst:92
msgid "You can also override this method in an abstract base class:"
msgstr ""

#: ../Doc/library/abc.rst:96
msgid "(Must be defined as a class method.)"
msgstr "(Doit être définie en temps que méthode de classe.)"

#: ../Doc/library/abc.rst:98
msgid ""
"Check whether *subclass* is considered a subclass of this ABC.  This means "
"that you can customize the behavior of ``issubclass`` further without the "
"need to call :meth:`register` on every class you want to consider a subclass "
"of the ABC.  (This class method is called from the :meth:`__subclasscheck__` "
"method of the ABC.)"
msgstr ""

#: ../Doc/library/abc.rst:104
msgid ""
"This method should return ``True``, ``False`` or ``NotImplemented``.  If it "
"returns ``True``, the *subclass* is considered a subclass of this ABC. If it "
"returns ``False``, the *subclass* is not considered a subclass of this ABC, "
"even if it would normally be one.  If it returns ``NotImplemented``, the "
"subclass check is continued with the usual mechanism."
msgstr ""

#: ../Doc/library/abc.rst:114
msgid ""
"For a demonstration of these concepts, look at this example ABC definition::"
msgstr ""

#: ../Doc/library/abc.rst:143
msgid ""
"The ABC ``MyIterable`` defines the standard iterable method, :meth:"
"`~iterator.__iter__`, as an abstract method.  The implementation given here "
"can still be called from subclasses.  The :meth:`get_iterator` method is "
"also part of the ``MyIterable`` abstract base class, but it does not have to "
"be overridden in non-abstract derived classes."
msgstr ""

#: ../Doc/library/abc.rst:149
msgid ""
"The :meth:`__subclasshook__` class method defined here says that any class "
"that has an :meth:`~iterator.__iter__` method in its :attr:`~object."
"__dict__` (or in that of one of its base classes, accessed via the :attr:"
"`~class.__mro__` list) is considered a ``MyIterable`` too."
msgstr ""

#: ../Doc/library/abc.rst:154
msgid ""
"Finally, the last line makes ``Foo`` a virtual subclass of ``MyIterable``, "
"even though it does not define an :meth:`~iterator.__iter__` method (it uses "
"the old-style iterable protocol, defined in terms of :meth:`__len__` and :"
"meth:`__getitem__`).  Note that this will not make ``get_iterator`` "
"available as a method of ``Foo``, so it is provided separately."
msgstr ""

#: ../Doc/library/abc.rst:163
msgid "The :mod:`abc` module also provides the following decorators:"
msgstr ""

#: ../Doc/library/abc.rst:167
msgid "A decorator indicating abstract methods."
msgstr "Un décorateur marquant les méthodes abstraites."

#: ../Doc/library/abc.rst:169
msgid ""
"Using this decorator requires that the class's metaclass is :class:`ABCMeta` "
"or is derived from it.  A class that has a metaclass derived from :class:"
"`ABCMeta` cannot be instantiated unless all of its abstract methods and "
"properties are overridden.  The abstract methods can be called using any of "
"the normal 'super' call mechanisms.  :func:`abstractmethod` may be used to "
"declare abstract methods for properties and descriptors."
msgstr ""

#: ../Doc/library/abc.rst:176
msgid ""
"Dynamically adding abstract methods to a class, or attempting to modify the "
"abstraction status of a method or class once it is created, are not "
"supported.  The :func:`abstractmethod` only affects subclasses derived using "
"regular inheritance; \"virtual subclasses\" registered with the ABC's :meth:"
"`register` method are not affected."
msgstr ""

#: ../Doc/library/abc.rst:182
msgid ""
"When :func:`abstractmethod` is applied in combination with other method "
"descriptors, it should be applied as the innermost decorator, as shown in "
"the following usage examples::"
msgstr ""

#: ../Doc/library/abc.rst:216
msgid ""
"In order to correctly interoperate with the abstract base class machinery, "
"the descriptor must identify itself as abstract using :attr:"
"`__isabstractmethod__`. In general, this attribute should be ``True`` if any "
"of the methods used to compose the descriptor are abstract. For example, "
"Python's built-in property does the equivalent of::"
msgstr ""

#: ../Doc/library/abc.rst:231
msgid ""
"Unlike Java abstract methods, these abstract methods may have an "
"implementation. This implementation can be called via the :func:`super` "
"mechanism from the class that overrides it.  This could be useful as an end-"
"point for a super-call in a framework that uses cooperative multiple-"
"inheritance."
msgstr ""

#: ../Doc/library/abc.rst:241
msgid ""
"A subclass of the built-in :func:`classmethod`, indicating an abstract "
"classmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""

#: ../Doc/library/abc.rst:244
msgid ""
"This special case is deprecated, as the :func:`classmethod` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""

#: ../Doc/library/abc.rst:255
msgid ""
"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""

#: ../Doc/library/abc.rst:262
msgid ""
"A subclass of the built-in :func:`staticmethod`, indicating an abstract "
"staticmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""

#: ../Doc/library/abc.rst:265
msgid ""
"This special case is deprecated, as the :func:`staticmethod` decorator is "
"now correctly identified as abstract when applied to an abstract method::"
msgstr ""

#: ../Doc/library/abc.rst:276
msgid ""
"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""

#: ../Doc/library/abc.rst:283
msgid ""
"A subclass of the built-in :func:`property`, indicating an abstract property."
msgstr ""

#: ../Doc/library/abc.rst:286
msgid ""
"Using this function requires that the class's metaclass is :class:`ABCMeta` "
"or is derived from it. A class that has a metaclass derived from :class:"
"`ABCMeta` cannot be instantiated unless all of its abstract methods and "
"properties are overridden. The abstract properties can be called using any "
"of the normal 'super' call mechanisms."
msgstr ""

#: ../Doc/library/abc.rst:292
msgid ""
"This special case is deprecated, as the :func:`property` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""

#: ../Doc/library/abc.rst:302
msgid ""
"The above example defines a read-only property; you can also define a read-"
"write abstract property by appropriately marking one or more of the "
"underlying methods as abstract::"
msgstr ""

#: ../Doc/library/abc.rst:316
msgid ""
"If only some components are abstract, only those components need to be "
"updated to create a concrete property in a subclass::"
msgstr ""

#: ../Doc/library/abc.rst:325
msgid ""
"It is now possible to use :class:`property`, :meth:`property.getter`, :meth:"
"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""

#: ../Doc/library/abc.rst:331
msgid "The :mod:`abc` module also provides the following functions:"
msgstr ""

#: ../Doc/library/abc.rst:335
msgid "Returns the current abstract base class cache token."
msgstr ""

#: ../Doc/library/abc.rst:337
msgid ""
"The token is an opaque object (that supports equality testing) identifying "
"the current version of the abstract base class cache for virtual subclasses. "
"The token changes with every call to :meth:`ABCMeta.register` on any ABC."
msgstr ""

#: ../Doc/library/abc.rst:345
msgid "Footnotes"
msgstr "Notes"

#: ../Doc/library/abc.rst:346
msgid ""
"C++ programmers should note that Python's virtual base class concept is not "
"the same as C++'s."
msgstr ""

#~ msgid "This module provides the following classes:"
#~ msgstr "Le module fournit les classes suivantes :"
