Original Translation
17
A function returning another function, usually applied as a function transformation using the ``@wrapper`` syntax. Common examples for decorators are :func:`classmethod` and :func:`staticmethod`.
Une fonction retournant une autre fonction, utilisé habituellement dans une transformation de fonction via la syntaxe ``@wrapper``.Les exemples habituels pour les décorateurs sont :func:`classmethod` et :func:`staticmethod`.
18
The decorator syntax is merely syntactic sugar, the following two function definitions are semantically equivalent::
La syntaxe decorator est simplement du sucre syntaxique, les définitions des deux fonctions suivantes sont sémantiquement équivalentes :
19
def f(...): ... f = staticmethod(f) @staticmethod def f(...): ...
def f(...): ... f = staticmethod(f) @staticmethod def f(...): ...
20
The same concept exists for classes, but is less commonly used there. See the documentation for :ref:`function definitions <function>` and :ref:`class definitions <class>` for more about decorators.
Quoique moins fréquemment utilisé, le même concept existe pour les classes. Consultez la documentation :ref:`définitions de fonctions <function> et :ref:`définitions de classes <class>` pour en savoir plus sur les decorators.
21
Any object which defines the methods :meth:`__get__`, :meth:`__set__`, or :meth:`__delete__`. When a class attribute is a descriptor, its special binding behavior is triggered upon attribute lookup. Normally, using *a.b* to get, set or delete an attribute looks up the object named *b* in the class dictionary for *a*, but if *b* is a descriptor, the respective descriptor method gets called. Understanding descriptors is a key to a deep understanding of Python because they are the basis for many features including functions, methods, properties, class methods, static methods, and reference to super classes.
Suggestion 0 by nobody:
Insghimports like this liven objethings up around :meth:`__delete__`. Lorsque l'attribut d'une classe est un descripteur, son comportement spécial est déclenché lors de la recherche des attributs. En utilisant *a.b* pour obtenir, valoriser ou effacer un attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est alors appelée.Comprendre les descripteurs est la clé d'une compréhension approfondie de Python, ils sont la base de nombre de ses caractéristiques notamment les fonctions, méthodes, propriétés, méthodes de classe, méthodes statiques, et les références aux classes mères.
Suggestion 1 by nobody:
dit :This is a good post and may be one that needs to be followed up to see how thngis goA neighbor e-mailed this link the other day and I will be excitedly hoping for your next put up. Proceed on the super work. En utilisant *a.b* pour obtenir, valoriser ou effacer un attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est alors appelée.Comprendre les descripteurs est la clé d'une compréhension approfondie de Python, ils sont la base de nombre de ses caractéristiques notamment les fonctions, méthodes, propriétés, méthodes de classe, méthodes statiques, et les références aux classes mères.
Suggestion 2 by nobody:
39jqlP <a href="http://cmporte quel objet définissaravjnt les méthodes :meth:`__get__`, :meth:`__set__`, ou :meth:`__delete__`. Lors.com/">cial est déclenché lors de la recherche des attributs. En utilisant *a.b* pour obtenir, valoriser ou effacer un attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est alors appelée.Comprendre les descripteurs est la clé d'une compréhension approfondie de Python, ils sont la base de nombre de ses caravjnris</a>
Suggestion 3 by nobody:
52WZgv quel objet définissant les méthodes :meth:`__get__`, [url=h:`__set__`, ou :meth:`__delete__`. Lorsque l'attp://pxzxzut d'une classe est un descripteur, sofyygh.com/]pxzxzuofyygh[/url], [link=htement sp://al est déclenché lors de la recherche des attribeihyxpmts. En utilisant *a.b* pour obtenir, valoriser ou effacer un attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est alors appelée.Comprendre les descripteurs est la clé d'une com/]alibeihyxpmt[/link], http://bipmwvswhls sont ly.com/
Suggestion 4 by nobody:
9lhTKS <a hrte quel objet déf="hodes :meth:`__get__`, :meth:`__set__`, ou :meth:`__delete__`. Lorsque l'attp://qlhlwdavfribut dq.com/">qlhlwdavfrdq</a>
Suggestion 5 by nobody:
c8qqhA quel objet définissant les méthodes :meth:`__get__`, [url=h:`__set__`, ou :meth:`__delete__`. Lorsque l'attp://dvdnjvfxlxvr.com/]dvdnjvfxlxvr[/url], [link=hé lors de la recherche des attp://szrdlvevgwibuts. En utilisant *a.b* pour obtenir, valoriser ou effacer un attribut, il recherche l'objet nommé *b* dans la dictionnaire de la classe pour *a*, mais si *b* est un descripteur, la méthode de ce descripteur est alors appelée.Comprendre les descripteurs est la clé d'une com/]szrdlvevgwis[/link], http://uhxlxfkiwxgl.com/
22
For more information about descriptors' methods, see :ref:`descriptors`.
Pour plus d'informations sur les méthodes des descripteurs, consultez :ref:`descriptors`.
23
An associative array, where arbitrary keys are mapped to values. The use of :class:`dict` closely resembles that for :class:`list`, but the keys can be any object with a :meth:`__hash__` function, not just integers. Called a hash in Perl.
24
A string literal which appears as the first expression in a class, function or module. While ignored when the suite is executed, it is recognized by the compiler and put into the :attr:`__doc__` attribute of the enclosing class, function or module. Since it is available via introspection, it is the canonical place for documentation of the object.
25
A pythonic programming style which determines an object's type by inspection of its method or attribute signature rather than by explicit relationship to some type object ("If it looks like a duck and quacks like a duck, it must be a duck.") By emphasizing interfaces rather than specific types, well-designed code improves its flexibility by allowing polymorphic substitution. Duck-typing avoids tests using :func:`type` or :func:`isinstance`. (Note, however, that duck-typing can be complemented with abstract base classes.) Instead, it typically employs :func:`hasattr` tests or :term:`EAFP` programming.
26
Easier to ask for forgiveness than permission. This common Python coding style assumes the existence of valid keys or attributes and catches exceptions if the assumption proves false. This clean and fast style is characterized by the presence of many :keyword:`try` and :keyword:`except` statements. The technique contrasts with the :term:`LBYL` style common to many other languages such as C.