Decorators#

[13]:
def uppercase_decorator(function):
    def wrapper(*args,**kwargs):
        func = function(*args,**kwargs)
        make_uppercase = func.upper()
        return make_uppercase
    return wrapper
[14]:
def func():
    return "hello world"
[15]:
func = uppercase_decorator(func)
[16]:
func()
[16]:
'HELLO WORLD'
[20]:
@uppercase_decorator
def func1():
    return "hello world 1"
[21]:
func1()
[21]:
'HELLO WORLD 1'

timer example#

[24]:
from time import time,sleep

def timeit(f):
    def wrapper(*args,**kwargs):
        start = time()
        val = f(*args,**kwargs)
        end = time()

        print("total time taken for this function :",f.__name__," is",end-start)
        return val
    return wrapper

@timeit
def slow_operation():
    sleep(3)
    return "done"
[25]:
slow_operation()
total time taken for this function : slow_operation  is 3.0030782222747803
[25]:
'done'