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.
This commit is contained in:
Noah Haasis 2018-06-16 05:29:11 +02:00 committed by Mariatta
parent 7469ff5017
commit 2707e41a5c

View file

@ -371,8 +371,8 @@ compute, a common technique is to cache the parameters and the resulting value
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)]