Աշխատանք՝ գրեք դեկորատոր, որը կեշավորում է ֆունկցիայի արդյունքը որոշակի ժամանակով (ttl): TTL-ն սահմանվում է վայրկյաններով (int):
1) նկարագրեք այս կոդի հիմնական սխեման բոլոր հնարավոր ծայրահեղ դեպքերով:
2) (ընտրովի) իրականացնել կոդում
import time
# իրականացում
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'այժմ={time.time()}')
print(f'արդյունք={multiplier(5, 5, x=1)}; ժամանակ={time.time()}')
print(f'արդյունք={multiplier(5, 5, x=1)}; ժամանակ={time.time()}')
print(f'արդյունք={multiplier(2, 5, x=1)}; ժամանակ={time.time()}')
time.sleep(2)
print(f'արդյունք={multiplier(5, 5, x=1)}; ժամանակ={time.time()}')