
მოსაზრება: დაწერეთ დეკორატორი, რომელიც კეშავს ფუნქციის შედეგს განსაზღვრულ დროს (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()}')