![]()
Hello Coders,
We have discussed python decorators on the Youtube channel. If you go through this, you will have a clear understanding of the decorators and also it will help to crack the interviews.
Here are the code snippets of the Videos.
- Python decorators basic Link Here
# decorator definition
def decorator_function(base_fx):
def wrapper_function():
print("extra code are executed before the base function call")
print("some more line are added...")
return base_fx()
return wrapper_function
# decorator call and base function definition
@decorator_function
def base_function():
print("base function executed")
# base function call
base_function()
def base_function():
print("base function executed 123 ")
display = decorator_function(base_function)
display()
2. Python decorators base functions with arguments Link Here
# decorator definition
def decorator_function(base_fx):
def wrapper_function(x,y):
print("extra codes are executed before base function... ")
base_result = base_fx(x,y)
return wrapper_function
@decorator_function
def base_function(arg1, arg2):
print(f"arg1 = {arg1} and arg2 = {arg2}")
# base funtion call
base_function(5,6)
3. Python decorators with arguments Link Here
# decorator definition
def deco_1(text):
def decorator_function(base_fx):
def wrapper_function(x,y):
print(text)
return base_fx(x,y)
return wrapper_function
return decorator_function
# decorator call and base function definition
@deco_1("india")
@deco_1("korea")
@deco_1("usa")
def display(x,y):
print(f"value of x = {x} and value of y = {y}")
# base call
display(5,6)
4. Python decorators with chaining Link Here
# deco_1 definition
def deco_1(fx):
def wrapper(arg1,arg2):
print("from deco_1 before base function call....")
fx(arg1,arg2)
print("from deco_1 after base function call...")
return wrapper
# deco_2 definition
def deco_2(fxx):
def wrapper(arg3,arg4):
print("from deco_2 before base function call")
fxx(arg3,arg4)
print("from dec_2 after base function call")
return wrapper
@deco_1
@deco_2
def base_function(x,y):
print(f"value of x = {x} and value of y = {y}")
# base function call
base_function(5,6)
5. Python decorators chaining with arguments Link Here
# deco_1 definition
def deco_1(text):
def base_fx_recieve(base_fx):
def base_fx_args(arg1,arg2):
print(text)
return base_fx(arg1,arg2)
return base_fx_args
return base_fx_recieve
# deco_2 definition
def deco_2(text):
def base_fx_recieve(base_fx):
def base_fx_args(arg1,arg2):
print(text)
return base_fx(arg1,arg2)
return base_fx_args
return base_fx_recieve
@deco_2("India")
@deco_1("Computer Science")
def base_function(x,y):
print(f"value of x = {x} and value of y = {y}")
base_function(5,6)
5. Python property decorators Link Here
class Cricket:
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
@property
def fullname(self):
return self.first_name + ' ' + self.last_name
player_1 = Cricket("Jhonty","Rhodes")
player_1.fullname