मुझे @staticmethod, @classmethod, और @property के बारे में पता है, लेकिन केवल बिखरे हुए दस्तावेज़ों के माध्यम से। क्या पाइथन में निर्मित फ़ंक्शन सजावट की एक पूरी सूची है?पायथन - कहीं सजावट की एक सूची है?
उत्तर
मैं ऐसा नहीं सोचता। सजावटी सामान्य कार्यों से अलग नहीं होते हैं, आप केवल उन्हें एक प्रशंसक तरीके से बुलाते हैं।
उन सभी को खोजने के लिए खोज Built-in functions सूची की कोशिश, जैसा कि आप Python glossary में देख सकते हैं क्योंकि डेकोरेटर वाक्य रचना, बस एक वाक्यात्मक चीनी के रूप में निम्नलिखित दो परिभाषा बराबर कार्य (शब्दकोष से इस उदाहरण की नकल की) बनाने के लिए:
def f(...):
...
f = staticmethod(f)
@staticmethod
def f(...):
तो कोई भी अंतर्निहित फ़ंक्शन जो किसी अन्य फ़ंक्शन को लौटाता है उसे सजावटी के रूप में उपयोग किया जा सकता है। प्रश्न यह है - क्या इसका उपयोग इस तरह से करने के लिए समझ में आता है? :-)
functools मॉड्यूल कुछ कार्यों कि सज्जाकार के रूप में इस्तेमाल किया जा सकता है, लेकिन वे बनाया-इन नहीं कर रहे हैं आप के लिए कहा।
उनमें अंतर्निहित नहीं कर रहे हैं, लेकिन उदाहरण सज्जाकार की this library बहुत अच्छा है।
एबगन says के रूप में, अंतर्निहित फ़ंक्शन सूची शायद देखने के लिए सबसे अच्छी जगह है, हालांकि सजावटी को कक्षाओं के रूप में भी कार्यान्वित किया जा सकता है, यह व्यापक होने की गारंटी नहीं है।
सभी सज्जाकार की एक सूची के रूप में ऐसी कोई चीज नहीं है। सभी कार्यों की कोई सूची नहीं है। सभी वर्गों की कोई सूची नहीं है।
डेकोरेटर काम करता है, तरीकों, या वर्गों में एक आम पहलू को परिभाषित करने के लिए एक उपयोगी उपकरण है। अंतर्निहित सजावटी हैं। इसके अलावा वहां कई अच्छे और बेकार सजावटी भी हैं। इसी तरह कूल और बेकार वर्गों की संख्या भी है।
डेकोरेटर यहाँ तक कि एक समारोह वापस जाने के लिए आवश्यक नहीं हैं। मैंने पहले @atexit.register
का उपयोग किया है।
ठीक है, वह उस उद्देश्य के लिए उसी कार्य को पारित करता है। –
ओह, क्या यह है? मैंने कभी नहीं देखा। – habnabit
"सजावट करने वालों को एक समारोह वापस करने की भी आवश्यकता नहीं है" - किसी भी अर्थ को बनाने के लिए, हालांकि, उन्हें चाहिए, क्योंकि '@ सजावट' केवल 'एफ = सजावट (एफ)' के लिए चीनी है - अन्यथा आप संदर्भ खो देंगे जिस समारोह में आप सजा रहे हैं। –
- 1. पायथन सजावट, स्वयं मिश्रित है
- 2. पायथन कक्षा सजावट
- 3. पायथन सजावट हैंडलिंग डॉकस्ट्रिंग
- 4. पायथन: सजावट को कक्षा
- 5. पायथन कक्षा सजावट तर्क
- 6. पायथन: अपवाद सजावट। Stacktrace
- 7. पायथन सजावट और विधियां
- 8. पायथन सजावट और कक्षा विरासत
- 9. जावा में पायथन जैसी सजावट?
- 10. पायथन: सूची की तुलना
- 11. पायथन सूची की तुलना
- 12. विकल्प के साथ पायथन सजावट
- 13. पायथन की सूची कक्षा
- 14. पायथन सजावट 3.0 और सजावटी
- 15. नेस्टेड फ़ंक्शन सजावट जो पायथन
- 16. पायथन सॉर्टिंग - ऑब्जेक्ट्स की एक सूची
- 17. क्या एसटीएल कंटेनर विधियों की एक सूची है जो कहीं भी अपवाद फेंक सकती है?
- 18. पायथन में [] -स्क्यू सजावट वाक्यविन्यास का क्या अर्थ है?
- 19. पायथन - ऑब्जेक्ट्स की पठनीय सूची
- 20. पायथन एनपी सरणी की सूची
- 21. शब्दकोशों की पायथन सूची मूल्य
- 22. शब्दकोश की सूची बनाएँ पायथन
- 23. क्यों एक पायथन सूची
- 24. पायथन - पायट्ज़ - टाइमज़ोन की सूची?
- 25. पायथन ऑब्जेक्ट डेटाबेस की सूची
- 26. पायथन सूची की समझ; सूचियों की सूची को संपीड़ित करना?
- 27. पायथन में एक वैध कक्षा सजावट कैसे लिखें?
- 28. एक पूर्ण मॉड्यूल के लिए पायथन सजावट को परिभाषित करना
- 29. पायथन समारोह सजावट का परीक्षण कैसे करें?
- 30. पायथन कहीं भी पहुंच MySQL डेटाबेस
कोई आधिकारिक सूची नहीं है, लेकिन यह लिंक उपयोगी है: https://github.com/lord63/awesome-python-decorator – Casebash