Sobes.tech

Python

Prečo sa nedá použiť slovník vo vnútri n-tice ako kľúč slovníka? Existuje záruka, že slovník nebude odovzdaný ako argument dekorovanej funkcie?

37

Zadanie: napíšte dekorátor, ktorý cache-uje výsledok funkcie na stanovený čas (ttl). TTL je nastavená v sekundách (int). 1) opíšte základný schémat tohto kódu so všetkými možnými krajnými prípadmi. 2) (voliteľné) implementujte v kóde import time # implementácia 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