diff options
-rw-r--r-- | Doc/library/functions.rst | 13 | ||||
-rw-r--r-- | Doc/library/typing.rst | 6 | ||||
-rw-r--r-- | Lib/test/test_typing.py | 4 |
3 files changed, 16 insertions, 7 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index eed6730..e472257 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -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 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 standard type hierarchy in :ref:`types`. - .. index:: - single: string; str() (built-in function) +.. index:: + single: string; str() (built-in function) .. _func-str: .. class:: str(object='') diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index bd04f73..9883d8b 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -897,17 +897,17 @@ The module defines the following classes, functions and decorators: 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. - 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 to methods defined in its superclasses or subclasses). 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. diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 87d707c..a3b6eb9 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -1471,8 +1471,8 @@ class ForwardRefTests(BaseTestCase): def test_meta_no_type_check(self): @no_type_check_decorator - def magic_decorator(deco): - return deco + def magic_decorator(func): + return func self.assertEqual(magic_decorator.__name__, 'magic_decorator') |