[New-bugs-announce] [issue31567] Inconsistent documentation around decorators

Daisuke Miyakawa report at bugs.python.org
Sun Sep 24 03:31:30 EDT 2017

New submission from Daisuke Miyakawa:

I can see inconsistency in library documentation around functions that are suitable for decorators. I'd like to clarify if it is based on my misunderstanding, or a real documentation problem.


- https://docs.python.org/3/library/functions.html#staticmethod
- https://docs.python.org/3/library/functools.html#functools.lru_cache

Both staticmethod() and functools.lru_cache() are used with decorator expressions, while they have slightly different explanations.

The first one looks like just a usual function while the detailed explanations say it is used with decorator expression. The second one is what I don't understand; it says "@functools.lru_cache()", where the function name is "decorated" with @ in the doc. What does @ mean here? If there's some meaning, the next question is, why doc for staticmethod() 
 (and classmethod() in the same page) does not have it?

I don't know which is better, but I believe consistency is good. Some other examples :

- https://docs.python.org/3/library/contextlib.html?highlight=decorator  -> @ here
- https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch -> no @ here
- https://docs.python.org/2.7/library/functools.html#functools.lru_cache -> Old functools does not have @

assignee: docs at python
components: Documentation
messages: 302830
nosy: dmiyakawa, docs at python
priority: normal
severity: normal
status: open
title: Inconsistent documentation around decorators
type: behavior
versions: Python 3.6, Python 3.7

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list