@ Symbol का प्रयोग Python में डेकोरेटर को परिभाषित करने के लिए किया जाता है। सज्जाकार उच्च-क्रम के कार्यों को कॉल करने के लिए एक सरल वाक्यविन्यास प्रदान करते हैं। परिभाषा के अनुसार, डेकोरेटर एक ऐसा फ़ंक्शन होता है जो दूसरे फ़ंक्शन को लेता है और बाद वाले फ़ंक्शन के व्यवहार को स्पष्ट रूप से संशोधित किए बिना बढ़ाता है।
पायथन में हमारे पास दो अलग-अलग प्रकार के डेकोरेटर हैं:
- समारोह सज्जाकार
- क्लास डेकोरेटर
Python में एक डेकोरेटर कोई भी कॉल करने योग्य Python ऑब्जेक्ट है जिसका उपयोग किसी फ़ंक्शन या क्लास को संशोधित करने के लिए किया जाता है। किसी फ़ंक्शन या क्लास का संदर्भ डेकोरेटर को दिया जाता है और डेकोरेटर एक संशोधित फ़ंक्शन या क्लास देता है। संशोधित फ़ंक्शन या कक्षाओं में आमतौर पर मूल फ़ंक्शन के लिए कॉल होते हैं।
@decorator def f(argument): ….
f को डेकोरेटर (f) से बदल देगा:f (तर्क) को कॉल करना फिर डेकोरेटर (f) (तर्क) के बराबर है।