Kaydet (Commit) 03b9537d authored tarafından Éric Araujo's avatar Éric Araujo Kaydeden (comit) GitHub

bpo-31567: more decorator markup fixes in docs (GH-3959) (#3966)

üst cba9a0c6
...@@ -1419,12 +1419,21 @@ are always available. They are listed here in alphabetical order. ...@@ -1419,12 +1419,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='')
......
...@@ -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