bpo-33836: Recommend keyword-only param for memoization in FAQ (GH-7687)
Update the the signature in the code example to make `_cache` a keyword-only parameter.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index d986ab6..53f3b7f 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -371,8 +371,8 @@
of each call to the function, and return the cached value if the same value is
requested again. This is called "memoizing", and can be implemented like this::
- # Callers will never provide a third parameter for this function.
- def expensive(arg1, arg2, _cache={}):
+ # Callers can only provide two parameters and optionally pass _cache by keyword
+ def expensive(arg1, arg2, *, _cache={}):
if (arg1, arg2) in _cache:
return _cache[(arg1, arg2)]