लेखक द्वारा छवि
पायथन एक जादुई भाषा है जिसमें कई अवधारणाएँ हैं जिनसे उन्नत उपयोगकर्ता भी परिचित नहीं हो सकते हैं। डंडर या जादुई तरीके उनमें से एक है। जादू विधियां विशेष विधियां हैं जो डबल अंडरस्कोर से घिरी हुई हैं। उन्हें पायथन में सामान्य तरीकों के विपरीत स्पष्ट रूप से नहीं कहा जाता है। ऐसा ही एक जादुई तरीका है __getitem__
विधि, पायथन वस्तुओं को अनुक्रमों या कंटेनरों जैसे सूचियों, शब्दकोशों और टुपल्स की तरह व्यवहार करने में सक्षम बनाती है। यह इंडेक्स या स्लाइस लेता है और संग्रह से संबंधित मूल्य को पुनः प्राप्त करता है। जब भी हम इसका उपयोग करते हैं तो यह स्वचालित रूप से लागू हो जाता है indexer [ ]
ऑपरेटर आपकी वस्तु के भीतर तत्वों तक पहुँचने के लिए।
इस पद्धति को एक जादू की छड़ी के रूप में सोचें जो आपको कोड की कुछ पंक्तियां लिखकर आवश्यक जानकारी निकालने की शक्ति प्रदान करती है। दिलचस्प सही? इस पद्धति का उपयोग डेटा विश्लेषण और मशीन लर्निंग में भी व्यापक रूप से किया जाता है। तो, आइए गहराई से गोता लगाएँ __getitem__
विधि और इसकी शक्ति और लचीलेपन की खोज करें।
मैं चाहता हूं कि आप यह समझें कि पायथन प्रोग्रामर के रूप में आपका कर्तव्य केवल कार्यात्मक कोड लिखने से कहीं अधिक है। आपका कोड कुशल, पठनीय और रखरखाव योग्य होना चाहिए। का उपयोग करते हुए __getitem__
इन लक्ष्यों को प्राप्त करने में आपकी सहायता करेगा। इस जादू पद्धति का उपयोग करने के कुछ अन्य लाभ इस प्रकार हैं:
- मेमोरी में संपूर्ण डेटा संरचना को लोड करने के बजाय आपको केवल आवश्यक जानकारी निकालने की अनुमति देकर मेमोरी उपयोग को कम करता है
- डेटा को कैसे प्रबंधित और हेरफेर किया जाता है, इसमें अधिक लचीलापन प्रदान करता है
- आपको डेटा पर लूप किए बिना संग्रह पर पुनरावृति करने की अनुमति देता है
- आपको उन्नत अनुक्रमण लिखने की अनुमति देकर कार्यक्षमता बढ़ाता है जो कि अंतर्निहित प्रकारों के साथ संभव नहीं हो सकता है
- कोड को सरल करता है क्योंकि यह परिचित अंकन का उपयोग करता है
के लिए वाक्यविन्यास __getitem__
विधि इस प्रकार है:
def __getitem__(self, index): # Your Implementation pass
यह फ़ंक्शन के व्यवहार को परिभाषित करता है और उस इंडेक्स को लेता है जिसे आप इसके पैरामीटर में एक्सेस करने का प्रयास कर रहे हैं। हम इस विधि का उपयोग इस प्रकार कर सकते हैं:
my_obj[index]
यह कथन में अनुवाद करता है my_obj.__getitem__(index)
हुड के नीचे। अब आप सोच सकते हैं कि यह बिल्ट-इन से कैसे अलग है indexer []
ऑपरेटर? जहाँ भी आप इस संकेतन का उपयोग करते हैं, अजगर स्वचालित रूप से कॉल करता है __getitem__
आपके लिए विधि और तत्वों तक पहुँचने के लिए आशुलिपि है। लेकिन अगर आप कस्टम ऑब्जेक्ट्स के इंडेक्सिंग के व्यवहार को बदलना चाहते हैं, तो आपको स्पष्ट रूप से कॉल करने की आवश्यकता है __getitem__
विधि.
उदाहरण #01
आइए पहले एक आसान उदाहरण से शुरू करें। हम एक छात्र वर्ग बनाएंगे जिसमें सभी छात्रों की सूची होगी और हम उन्हें इंडेक्स द्वारा एक्सेस कर सकते हैं और विचार करें कि इंडेक्स उनकी विशिष्ट छात्र आईडी का प्रतिनिधित्व करता है।
class Student: def __init__(self, names): self.names=names def __getitem__(self,index): return self.names[index] section_A= Student(["David", "Elsa", "Qasim"])
print(section_A[2])
आउटपुट:
अब हम एक उन्नत उदाहरण की ओर बढ़ेंगे, जहाँ हम __getitem__
तरीका। मान लीजिए कि मेरे पास स्ट्रिंग तत्वों की एक सूची है और जब भी मैं इसकी अनुक्रमणिका स्थिति दर्ज करता हूं तो मैं तत्व को पुनर्प्राप्त करना चाहता हूं और यदि मैं स्वयं स्ट्रिंग दर्ज करता हूं तो मुझे अनुक्रमणिका स्थिति भी मिल सकती है।
class MyList: def __init__(self, items): self.items = items def __getitem__(self, index): if isinstance(index, int): return self.items[index] elif isinstance(index, str): return self.items.index(index) else: raise TypeError("Invalid Argument Type") my_list = MyList(['red', 'blue', 'green', 'black']) # Indexing with integer keys
print(my_list[0]) print(my_list[2]) # Indexing with string keys
print(my_list['red']) print(my_list['green'])
आउटपुट:
red
green
0 2
इंस्टेंस एट्रिब्यूट्स के त्वरित लुकअप के लिए यह विधि अत्यंत उपयोगी है। इस पद्धति के लचीलेपन और बहुमुखी प्रतिभा को ध्यान में रखते हुए, मैं कहूंगा कि यह पायथन के सबसे कम उपयोग किए जाने वाले जादुई तरीकों में से एक है। मुझे आशा है कि आपको यह लेख पढ़ने में मज़ा आया होगा और यदि आप पायथन में अन्य जादू के तरीकों के बारे में जानने में रुचि रखते हैं तो मुझे टिप्पणी अनुभाग में बताएं।
कंवल महरीन डेटा विज्ञान और चिकित्सा में एआई के अनुप्रयोगों में गहरी रुचि रखने वाला एक महत्वाकांक्षी सॉफ्टवेयर डेवलपर है। कंवल को APAC क्षेत्र के लिए Google जनरेशन स्कॉलर 2022 के रूप में चुना गया था। कंवल ट्रेंडिंग टॉपिक्स पर लेख लिखकर तकनीकी ज्ञान साझा करना पसंद करते हैं, और टेक उद्योग में महिलाओं के प्रतिनिधित्व को बेहतर बनाने के लिए भावुक हैं।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- स्रोत: https://www.kdnuggets.com/2023/03/introduction-getitem-magic-method-python.html?utm_source=rss&utm_medium=rss&utm_campaign=introduction-to-__getitem__-a-magic-method-in-python
- :है
- 2022
- 8
- a
- About
- पहुँच
- तक पहुँचने
- पाना
- उन्नत
- AI
- चिकित्सा में ए.आई.
- सब
- की अनुमति दे
- विश्लेषण
- और
- एपीएसी
- अनुप्रयोगों
- हैं
- तर्क
- लेख
- लेख
- AS
- आकांक्षी
- जुड़े
- विशेषताओं
- स्वतः
- BE
- लाभ
- काली
- नीला
- में निर्मित
- by
- कॉल
- बुलाया
- कॉल
- कर सकते हैं
- परिवर्तन
- कक्षा
- कोड
- संग्रह
- टिप्पणी
- पूरा
- अवधारणाओं
- विचार करना
- पर विचार
- कंटेनरों
- बनाना
- रिवाज
- तिथि
- डेटा विश्लेषण
- डेटा विज्ञान
- डेविड
- और गहरा
- परिभाषित करता है
- डेवलपर
- विभिन्न
- अन्य वायरल पोस्ट से
- डबल
- e
- आसान
- कुशल
- तत्व
- तत्व
- समर्थकारी
- दर्ज
- आवश्यक
- और भी
- उदाहरण
- उद्धरण
- अत्यंत
- परिचित
- कुछ
- प्रथम
- लचीलापन
- इस प्रकार है
- के लिए
- से
- समारोह
- कार्यात्मक
- कार्यक्षमता
- पीढ़ी
- मिल
- लक्ष्यों
- गूगल
- छात्रवृत्ति
- अधिक से अधिक
- हरा
- संभाला
- है
- मदद
- यहाँ उत्पन्न करें
- हुड
- आशा
- कैसे
- HTTPS
- i
- ID
- कार्यान्वयन
- में सुधार लाने
- in
- अनुक्रमणिका
- उद्योग
- करें-
- उदाहरण
- बजाय
- ब्याज
- रुचि
- दिलचस्प
- परिचय
- IT
- आइटम
- आईटी इस
- खुद
- केडनगेट्स
- इच्छुक
- Instagram पर
- जानना
- ज्ञान
- भाषा
- सीख रहा हूँ
- पसंद
- पंक्तियां
- लिंक्डइन
- सूची
- सूचियाँ
- लोड हो रहा है
- लुकअप
- मशीन
- यंत्र अधिगम
- जादू
- अनुरक्षणीय
- चालाकी से
- बहुत
- दवा
- याद
- तरीका
- तरीकों
- हो सकता है
- अधिक
- अधिकांश
- चाल
- नामों
- आवश्यकता
- वस्तु
- वस्तुओं
- of
- on
- ONE
- ऑपरेटर
- साधारण
- अन्य
- प्राचल
- आवेशपूर्ण
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- स्थिति
- संभव
- बिजली
- प्रोग्रामर
- अजगर
- त्वरित
- उठाना
- पढ़ना
- लाल
- क्षेत्र
- प्रतिनिधित्व
- का प्रतिनिधित्व करता है
- अपेक्षित
- वापसी
- s
- विज्ञान
- अनुभाग
- चयनित
- स्व
- Share
- आशुलिपि
- चाहिए
- टुकड़ा
- So
- सॉफ्टवेयर
- कुछ
- विशेष
- प्रारंभ
- कथन
- संरचना
- छात्र
- छात्र
- ऐसा
- घिरे
- वाक्यविन्यास
- लेता है
- तकनीक
- तकनीक उद्योग
- तकनीकी
- कि
- RSI
- लेकिन हाल ही
- उन
- इन
- सोचना
- सेवा मेरे
- विषय
- ट्रेंडिंग
- प्रकार
- के अंतर्गत
- समझना
- अद्वितीय
- us
- प्रयोग
- उपयोग
- उपयोगकर्ताओं
- मूल्य
- छड़ी
- व्यापक रूप से
- मर्जी
- साथ में
- अंदर
- बिना
- महिलाओं
- तकनीक में महिलाएं
- होगा
- लिखना
- लिख रहे हैं
- आपका
- जेफिरनेट