From 5a0bf74d4ec11a246b401896cbfb2e840c13da40 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 15 Jun 2018 20:46:30 -0700 Subject: [PATCH] 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. (cherry picked from commit 2707e41a5c7ede30349cc7dbd66f8be564965d7c) Co-authored-by: Noah Haasis --- Doc/faq/programming.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index d986ab642b..53f3b7f528 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -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)] -- 2.40.0