Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन क्लास में self


इस ट्यूटोरियल में, हम पायथन में self के बारे में जानेंगे। यदि आप पायथन के साथ काम कर रहे हैं तो आप इससे परिचित होंगे। हम इसके बारे में कुछ दिलचस्प चीजें देखेंगे।

नोट - self पायथन में एक कीवर्ड नहीं है।

आइए पायथन में self के सबसे सामान्य उपयोग से शुरू करें।

हम ऑब्जेक्ट के इंस्टेंस को दर्शाने के लिए क्लासेस में self का उपयोग करेंगे। हम एक क्लास के कई इंस्टेंस बना सकते हैं और प्रत्येक इंस्टेंस के अलग-अलग मान होंगे। और self क्लास इंस्टेंस के भीतर उन प्रॉपर्टी मानों को प्राप्त करने में हमारी मदद करता है। आइए एक उदाहरण देखें।

उदाहरण

# क्लास class Laptop:     # init मेथड     def __init__(self, company, model):         # self         self.company = company         self.model = model

हम क्लास के गुणों को self.[कुछ] के रूप में परिभाषित कर रहे हैं। इसलिए, जब भी हम क्लास का एक इंस्टेंस बनाते हैं, तो self उस इंस्टेंस को संदर्भित करेगा जिससे हम क्लास गुणों या मेथड्स को एक्सेस कर रहे हैं।

अब, Laptop क्लास के दो इंस्टेंस बनाते हैं और देखते हैं कि self कैसे काम करता है।

उदाहरण

# क्लास class Laptop:     # init मेथड     def __init__(self, company, model):         # self         self.company = company         self.model = model # क्लास के लिए इंस्टेंस बनाना laptop_one = Laptop('Lenovo', 'ideapad320') laptop_two = Laptop('Dell', 'inspiron 7000') # इंस्टेंस के गुण प्रिंट करना print(f"लैपटॉप एक: {laptop_one.company}") print(f"लैपटॉप दो: {laptop_two.company}")

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

लैपटॉप एक: Lenovo लैपटॉप दो: Dell

हमें एक ही गुण के लिए दो अलग-अलग नाम मिले। आइए इसके पीछे कुछ विवरण देखें।

पायथन डिफ़ॉल्ट रूप से इसके मेथड्स या गुणों को एक्सेस करते समय इंस्टेंस का एक रेफरेंस भेजता है। और रेफरेंस self में कैप्चर होता है। इसलिए, प्रत्येक इंस्टेंस के लिए रेफरेंस अलग होता है। और हमें संबंधित इंस्टेंस गुण मिलते हैं।

हम जानते हैं कि self पायथन का कीवर्ड नहीं है। यह एक तर्क की तरह है जिसे आप किसी इंस्टेंस के किसी गुण या मेथड को एक्सेस करते समय भेजने की आवश्यकता नहीं होती।

पायथन स्वचालित रूप से आपके लिए इंस्टेंस का रेफरेंस भेजेगा। हम इंस्टेंस के रेफरेंस को किसी भी चर नाम से कैप्चर कर सकते हैं। निम्नलिखित कोड चलाएं और आउटपुट देखें।

उदाहरण

import inspect # क्लास class Laptop:     # init मेथड     def __init__(other_than_self, company, model, colors):         # self वास्तव में नहीं         other_than_self.company = company         other_than_self.model = model         other_than_self.colors_available = colors         # मेथड         def is_laptop_available(not_self_but_still_self, color):             # निर्दिष्ट रंग में लैपटॉप उपलब्ध है या नहीं लौटाएं             return color in not_self_but_still_self.colors_available         # क्लास का एक इंस्टेंस बनाना             laptop = Laptop('Dell', 'inspiron 7000', ['Silver', 'Black']) # रंग कीवर्ड के बिना is_laptop_available मेथड आह्वान करना print("उपलब्ध") if laptop.is_laptop_available('Silver') else print("उपलब्ध नहीं") print("उपलब्ध") if laptop.is_laptop_available('White') else print("उपलब्ध नहीं")

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

उपलब्ध उपलब्ध नहीं

हमने नाम self को कुछ और में बदल दिया। लेकिन फिर भी, यह पहले की तरह काम करता है। कोई अंतर नहीं है। इसलिए, self एक कीवर्ड नहीं है। और इसके अलावा, हम self को जो चाहें बदल सकते हैं। यह एक तर्क की तरह है।

नोट - सर्वोत्तम अभ्यास self का उपयोग करना है। यह एक मानक है जिसका हर पायथन प्रोग्रामर पालन करता है

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई संदेह हैं, तो उन्हें टिप्पणी अनुभाग में उल्लेख करें।

  1. पायथन में Kivy का Checkbox विजेट पायथन में Kivy का Checkbox विजेट

    Kivy नवीन यूजर इंटरफेस जैसे मल्टी-टच ऐप्स का उपयोग करने वाले एप्लिकेशन के त्वरित विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि GridLayout और CheckBox का उपयोग कैसे करें। प्रासंगिक म

  1. पायथन - किवी (Kivy) में बटन एक्शन पायथन - किवी (Kivy) में बटन एक्शन

    किवी (Kivy) अभिनव उपयोगकर्ता इंटरफेस वाले एप्लिकेशन के तेजी से विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है, जैसे मल्टी-टच ऐप्स। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि बटन दबाए जाने पर इवेंट्स का उपयोग कैसे करें। नीचे दि

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्र