Kaydet (Commit) 205dd4e1 authored tarafından Miss Islington (bot)'s avatar Miss Islington (bot) Kaydeden (comit) Éric Araujo

[3.6] bpo-31567: add or fix decorator markup in docs (GH-3959) (GH-3966)

(cherry picked from commit 0e61e67a)
üst 5f908005
...@@ -278,7 +278,7 @@ The :mod:`abc` module also provides the following decorators: ...@@ -278,7 +278,7 @@ The :mod:`abc` module also provides the following decorators:
:func:`abstractmethod`, making this decorator redundant. :func:`abstractmethod`, making this decorator redundant.
.. decorator:: abstractproperty(fget=None, fset=None, fdel=None, doc=None) .. decorator:: abstractproperty
A subclass of the built-in :func:`property`, indicating an abstract A subclass of the built-in :func:`property`, indicating an abstract
property. property.
......
...@@ -182,9 +182,9 @@ are always available. They are listed here in alphabetical order. ...@@ -182,9 +182,9 @@ are always available. They are listed here in alphabetical order.
base 16). :exc:`ValueError` will be raised if *i* is outside that range. base 16). :exc:`ValueError` will be raised if *i* is outside that range.
.. function:: classmethod(function) .. decorator:: classmethod
Return a class method for *function*. Transform a method into a class method.
A class method receives the class as implicit first argument, just like an A class method receives the class as implicit first argument, just like an
instance method receives the instance. To declare a class method, use this instance method receives the instance. To declare a class method, use this
...@@ -1384,9 +1384,9 @@ are always available. They are listed here in alphabetical order. ...@@ -1384,9 +1384,9 @@ are always available. They are listed here in alphabetical order.
For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`. For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`.
.. function:: staticmethod(function) .. decorator:: staticmethod
Return a static method for *function*. Transform a method into a static method.
A static method does not receive an implicit first argument. To declare a static A static method does not receive an implicit first argument. To declare a static
method, use this idiom:: method, use this idiom::
...@@ -1405,12 +1405,21 @@ are always available. They are listed here in alphabetical order. ...@@ -1405,12 +1405,21 @@ are always available. They are listed here in alphabetical order.
:func:`classmethod` for a variant that is useful for creating alternate class :func:`classmethod` for a variant that is useful for creating alternate class
constructors. constructors.
Like all decorators, it is also possible to call ``staticmethod`` as
a regular function and do something with its result. This is needed
in some cases where you need a reference to a function from a class
body and you want to avoid the automatic transformation to instance
method. For these cases, use this idiom:
class C:
builtin_open = staticmethod(open)
For more information on static methods, consult the documentation on the For more information on static methods, consult the documentation on the
standard type hierarchy in :ref:`types`. standard type hierarchy in :ref:`types`.
.. index::
single: string; str() (built-in function)
.. index::
single: string; str() (built-in function)
.. _func-str: .. _func-str:
.. class:: str(object='') .. class:: str(object='')
......
...@@ -264,9 +264,9 @@ The :mod:`functools` module defines the following functions: ...@@ -264,9 +264,9 @@ The :mod:`functools` module defines the following functions:
return value return value
.. decorator:: singledispatch(default) .. decorator:: singledispatch
Transforms a function into a :term:`single-dispatch <single Transform a function into a :term:`single-dispatch <single
dispatch>` :term:`generic function`. dispatch>` :term:`generic function`.
To define a generic function, decorate it with the ``@singledispatch`` To define a generic function, decorate it with the ``@singledispatch``
......
...@@ -440,7 +440,7 @@ The :mod:`test.support` module defines the following functions: ...@@ -440,7 +440,7 @@ The :mod:`test.support` module defines the following functions:
otherwise. otherwise.
.. decorator:: skip_unless_symlink() .. decorator:: skip_unless_symlink
A decorator for running tests that require support for symbolic links. A decorator for running tests that require support for symbolic links.
......
...@@ -897,17 +897,17 @@ The module defines the following classes, functions and decorators: ...@@ -897,17 +897,17 @@ The module defines the following classes, functions and decorators:
See :pep:`484` for details and comparison with other typing semantics. See :pep:`484` for details and comparison with other typing semantics.
.. decorator:: no_type_check(arg) .. decorator:: no_type_check
Decorator to indicate that annotations are not type hints. Decorator to indicate that annotations are not type hints.
The argument must be a class or function; if it is a class, it This works as class or function :term:`decorator`. With a class, it
applies recursively to all methods defined in that class (but not applies recursively to all methods defined in that class (but not
to methods defined in its superclasses or subclasses). to methods defined in its superclasses or subclasses).
This mutates the function(s) in place. This mutates the function(s) in place.
.. decorator:: no_type_check_decorator(decorator) .. decorator:: no_type_check_decorator
Decorator to give another decorator the :func:`no_type_check` effect. Decorator to give another decorator the :func:`no_type_check` effect.
......
...@@ -1471,8 +1471,8 @@ class ForwardRefTests(BaseTestCase): ...@@ -1471,8 +1471,8 @@ class ForwardRefTests(BaseTestCase):
def test_meta_no_type_check(self): def test_meta_no_type_check(self):
@no_type_check_decorator @no_type_check_decorator
def magic_decorator(deco): def magic_decorator(func):
return deco return func
self.assertEqual(magic_decorator.__name__, 'magic_decorator') self.assertEqual(magic_decorator.__name__, 'magic_decorator')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment