@ সিম্বল Python-এ ডেকোরেটর সংজ্ঞায়িত করতে ব্যবহৃত হয়। ডেকোরেটর হাইয়ার-অর্ডার ফাংশন কল করার একটি সহজ সিনট্যাক্স প্রদান করে। সংজ্ঞা অনুযায়ী, একটি ডেকোরেটর হলো একটি ফাংশন যা অন্য একটি ফাংশন নেয় এবং স্পষ্টভাবে মডিফাই না করেই পরবর্তী ফাংশনের বিহেভিয়ার প্রসারিত করে।
Python-এ দুটি ভিন্ন ধরনের ডেকোরেটর রয়েছে:
- Function decorators
- Class decorators
Python-এ একটি ডেকোরেটর যেকোনো কলেবল Python অবজেক্ট যা একটি ফাংশন বা ক্লাস মডিফাই করতে ব্যবহৃত হয়। একটি ফাংশন বা ক্লাসের রেফারেন্স ডেকোরেটরকে পাস করা হয় এবং ডেকোরেটর একটি মডিফাইড ফাংশন বা ক্লাস ফেরত দেয়। মডিফাইড ফাংশন বা ক্লাস সাধারণত মূল ফাংশনへ কল ধারণ করে।
@decorator def f(argument): ….
এটি f কে decorator(f) দ্বারা রিপ্লেস করবে: f(argument) কল করা তখন decorator(f)(argument) কল করার সমতুল্য।