2018-07-04 09:06:45 +00:00
|
|
|
|
# Copyright (C) 2001-2018, Python Software Foundation
|
2018-07-04 09:08:42 +00:00
|
|
|
|
# For licence information, see README file.
|
2016-10-30 09:46:26 +00:00
|
|
|
|
#
|
|
|
|
|
msgid ""
|
|
|
|
|
msgstr ""
|
|
|
|
|
"Project-Id-Version: Python 3.6\n"
|
|
|
|
|
"Report-Msgid-Bugs-To: \n"
|
2018-03-23 08:57:03 +00:00
|
|
|
|
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
|
2018-05-08 15:15:16 +00:00
|
|
|
|
"PO-Revision-Date: 2018-05-08 17:13+0200\n"
|
|
|
|
|
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
2018-07-04 09:14:25 +00:00
|
|
|
|
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
2017-05-23 22:40:56 +00:00
|
|
|
|
"Language: fr\n"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
"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
|
2017-09-12 11:40:22 +00:00
|
|
|
|
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 ""
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../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
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "Metaclass for defining Abstract Base Classes (ABCs)."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:59
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:68
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Classes created with a metaclass of :class:`ABCMeta` have the following "
|
|
|
|
|
"method:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:72
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Register *subclass* as a \"virtual subclass\" of this ABC. For example::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:85
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "Returns the registered subclass, to allow usage as a class decorator."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:88
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"To detect calls to :meth:`register`, you can use the :func:`get_cache_token` "
|
|
|
|
|
"function."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:92
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "You can also override this method in an abstract base class:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:96
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "(Must be defined as a class method.)"
|
|
|
|
|
msgstr "(Doit être définie en temps que méthode de classe.)"
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:98
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:104
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:114
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"For a demonstration of these concepts, look at this example ABC definition::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:143
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:149
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:154
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:163
|
2018-03-23 08:57:03 +00:00
|
|
|
|
msgid "The :mod:`abc` module also provides the following decorator:"
|
2018-05-08 15:15:16 +00:00
|
|
|
|
msgstr "Le module :mod:`abc` fournit aussi le décorateur :"
|
2016-10-30 09:46:26 +00:00
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:167
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "A decorator indicating abstract methods."
|
|
|
|
|
msgstr "Un décorateur marquant les méthodes abstraites."
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:169
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:176
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:182
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:216
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2017-09-12 11:40:22 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:231
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:239
|
|
|
|
|
msgid "The :mod:`abc` module also supports the following legacy decorators:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: ../Doc/library/abc.rst:244
|
|
|
|
|
msgid ""
|
|
|
|
|
"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, "
|
|
|
|
|
"making this decorator redundant."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: ../Doc/library/abc.rst:248
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"A subclass of the built-in :func:`classmethod`, indicating an abstract "
|
|
|
|
|
"classmethod. Otherwise it is similar to :func:`abstractmethod`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:251
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"This special case is deprecated, as the :func:`classmethod` decorator is now "
|
|
|
|
|
"correctly identified as abstract when applied to an abstract method::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:265
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
2018-03-23 08:57:03 +00:00
|
|
|
|
"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, "
|
2016-10-30 09:46:26 +00:00
|
|
|
|
"making this decorator redundant."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:269
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"A subclass of the built-in :func:`staticmethod`, indicating an abstract "
|
|
|
|
|
"staticmethod. Otherwise it is similar to :func:`abstractmethod`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:272
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"This special case is deprecated, as the :func:`staticmethod` decorator is "
|
|
|
|
|
"now correctly identified as abstract when applied to an abstract method::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:285
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
2018-03-23 08:57:03 +00:00
|
|
|
|
"It is now possible to use :class:`property`, :meth:`property.getter`, :meth:"
|
|
|
|
|
"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, "
|
2016-10-30 09:46:26 +00:00
|
|
|
|
"making this decorator redundant."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:290
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"A subclass of the built-in :func:`property`, indicating an abstract property."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:293
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"This special case is deprecated, as the :func:`property` decorator is now "
|
|
|
|
|
"correctly identified as abstract when applied to an abstract method::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:303
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:317
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"If only some components are abstract, only those components need to be "
|
|
|
|
|
"updated to create a concrete property in a subclass::"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:326
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "The :mod:`abc` module also provides the following functions:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:330
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "Returns the current abstract base class cache token."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:332
|
2016-10-30 09:46:26 +00:00
|
|
|
|
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 ""
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:340
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid "Footnotes"
|
|
|
|
|
msgstr "Notes"
|
|
|
|
|
|
2018-03-23 08:57:03 +00:00
|
|
|
|
#: ../Doc/library/abc.rst:341
|
2016-10-30 09:46:26 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"C++ programmers should note that Python's virtual base class concept is not "
|
|
|
|
|
"the same as C++'s."
|
|
|
|
|
msgstr ""
|