Sobes.tech

Python

Proč nelze použít slovník uvnitř n-tice jako klíč slovníku? Existuje záruka, že slovník nebude předán jako argument dekorované funkce?

37

Úkol: napište dekorátor, který ukládá výsledek funkce do cache na stanovenou dobu (ttl). TTL je nastavena ve vteřinách (int). 1) popište základní schéma tohoto kódu se všemi možnými krajními případy. 2) (volitelné) implementujte v kódu import time # implementace 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'now={time.time()}') print(f'result={multiplier(5, 5, x=1)}; time={time.time()}') print(f'result={multiplier(5, 5, x=1)}; time={time.time()}') print(f'result={multiplier(2, 5, x=1)}; time={time.time()}') time.sleep(2) print(f'result={multiplier(5, 5, x=1)}; time={time.time()}')

32
/5