def get_cache_value(key, func, cachevar): # type: (str, Callable[[str], Any], Dict[str, Any]) -> Any data = cachevar.get(key) if data is None: data = func(key) cachevar[key] = data return data