p
Size: a a a
p
p
p
def run_once(f):функция func() может быть вызвана сколь угодно раз но сработает 1 раз
def wrapper(*args, **kwargs):
if getattr(f, 'executed', False):
return
f.executed = True
return f(*args, **kwargs)
return wrapper
@run_once
def func():
print('EXECUTE!!!')
p
from functools import lru_cacheА вот так кеширование делать. Расчёт будет только 1 раз, потом будет ретурнить готовое значение всегда
@lru_cache(maxsize=10)
def func():
print('EXECUTE')
return 123
p
l
l
p
l
p
АП
АП
from functools import lru_cacheА вот так кеширование делать. Расчёт будет только 1 раз, потом будет ретурнить готовое значение всегда
@lru_cache(maxsize=10)
def func():
print('EXECUTE')
return 123
p
l
l
l
l
АП
l
УВ