Ülesanne: kirjutada dekoratsioon, mis salvestab funktsiooni tulemuse vahemällu teatud aja jooksul (ttl). TTL määratakse sekundites (int).
1) kirjeldage selle koodi põhiskeemi kõigi võimalike nurkjuhtumitega.
2) (valikuline) rakendage koodis
import time
# rakendamine
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'praegu={time.time()}')
print(f'tulemus={multiplier(5, 5, x=1)}; aeg={time.time()}')
print(f'tulemus={multiplier(5, 5, x=1)}; aeg={time.time()}')
print(f'tulemus={multiplier(2, 5, x=1)}; aeg={time.time()}')
time.sleep(2)
print(f'tulemus={multiplier(5, 5, x=1)}; aeg={time.time()}')