Decorators
Contents
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'