Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Task 1
- import time
- def timer(func):
- def inside_func(*args, **kwargs):
- st = time.time()
- func(*args)
- fin = time.time()
- print(f'Function worked for {fin - st} seconds')
- return inside_func
- #Task 2
- def cache(f):
- D = dict()
- def inside_f(*args):
- if args not in D:
- D[args] = f(*args)
- return D[args]
- return inside_f
- #Task 3
- def logging(f):
- def inside(*args):
- result = f(*args)
- with open('log.txt', 'a+') as file:
- print(f'The function has been called {f.__name__}, the result of its work is - {result}', file=file)
- return result
- return inside
- #Task 4
- def retry(sec, times):
- def decor(f):
- def inside(*args):
- for i in range(times):
- if f(*args) is not None:
- return f(*args)
- time.sleep(sec)
- return None
- return inside
- return decor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement