python-basic

⌘K
  1. Home
  2. Docs
  3. python-basic
  4. Decorator

Decorator

যদি কখনো এমন দরকার পরে যে একটা ফাংশনের ফাংশনালিটি একটু পরিবর্তন/পরিবর্ধন করা দরকার কিন্তু আমরা সেই ফাংশনের কোড পরিবর্তন করতে চাচ্ছি না। তখন ডেকোরেটর ব্যবহার করে আমরা সেই কাজটা করতে পারবো।

ধরুন আমাদের একটা সাধারণ ফাংশন আছে যার নাম print_raw এবং এটি খুব সাধারণ ভাবেই Clear Text এই বাক্যকে প্রিন্ট করে।

def print_raw(text):
  print(text)

print_raw("Clear Text")

এখন আমরা চাই যখনই আমি কোথাও Clear Text বাক্যকে প্রিন্ট করবো সেখানে যেন এর আগে পরে একটু স্টাইল যুক্ত হয় — চিহ্ন দিয়ে। কিন্তু আবার চাচ্ছি না যে, print_raw ফাংশনটার কোড পরিবর্তন করতে।

 def my_decorator(func):
     def decorate():
         print("--------------")
         func()
        print("--------------")
    return decorate

এখন আমরা চাইলে আমাদের তৈরি যেকোনো নতুন ফাংশনের উপর একে আপ্লাই করতে পারি।

@my_decorator
def print_text():
    print("Clear Text")

আউটপুট

--------------
Clear Text
--------------

How can we help?