Užduotis: parašykite dekoratorių, kuris laikinai (ttl) kaupia funkcijos rezultatą. TTL nustatytas sekundėmis (int).
1) aprašykite šio kodo pagrindinę schemą su visais galimais kampiniais atvejais.
2) (pasirinktinai) įgyvendinkite kode
import time
# įgyvendinimas
pass
# print(f"Func in cache: {}")
# print(f"Time is valid: {}")
@ttl_cache(ttl=1)
def multiplier(a, b, **kwargs):
return a * b
print(f'dabar={time.time()}')
print(f'rezultatas={multiplier(5, 5, x=1)}; laikas={time.time()}')
print(f'rezultatas={multiplier(5, 5, x=1)}; laikas={time.time()}')
print(f'rezultatas={multiplier(2, 5, x=1)}; laikas={time.time()}')
time.sleep(2)
print(f'rezultatas={multiplier(5, 5, x=1)}; laikas={time.time()}')