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):
- start = time.time()
- func(*args, **kwargs)
- end = time.time()
- return end - start
- return inside_func
- # task 2
- def cacher(func):
- D = dict()
- def wrapper(*args):
- if args in D:
- return D[args]
- D[args] = func(*args)
- return D[args]
- return wrapper
- # task 3
- def loggining(func, name_file):
- def wrapper(*args, **kwargs):
- with open(name_file, "w", encoding='utf-8') as f:
- f.write(f'Функция {func.__name__} была вызвана с аргументами {args} {kwargs}. Ее результат: {func(*args, **kwargs)}')
- return wrapper
- # task 4
- def retry(max_at, delay = 0):
- def wrapper(func):
- def inside_func(*args,**kwargs):
- res = func(*args,**kwargs)
- at = 0
- while max_at <= at:
- if res is not None:
- return res
- at += 1
- time.sleep(delay)
- return None
- return inside_func
- return wrapper
Advertisement
Add Comment
Please, Sign In to add comment