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

पायथन में एट्रिब्यूट और मेथड एक्सेस करना


एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा के रूप में पायथन ऑब्जेक्ट्स पर जोर देता है। क्लासेस वह ब्लूप्रिंट हैं जिनसे ऑब्जेक्ट्स बनाए जाते हैं। पायथन में प्रत्येक क्लास में कई एट्रिब्यूट हो सकते हैं जिनमें फ़ंक्शन भी एक एट्रिब्यूट के रूप में शामिल है।

क्लास के एट्रिब्यूट एक्सेस करना

क्लास के एट्रिब्यूट की जाँच करने और उनमें हेरफेर करने के लिए, हम कई पायथन अंतर्निहित विधियों का उपयोग करते हैं जैसा कि नीचे दिखाया गया है।

  • getattr() - क्लास के एट्रिब्यूट को एक्सेस करने के लिए एक पायथन विधि।

  • hasattr() - क्लास में एट्रिब्यूट की उपस्थिति सत्यापित करने के लिए एक पायथन विधि।

  • setattr() - क्लास में एक अतिरिक्त एट्रिब्यूट सेट करने के लिए एक पायथन विधि।

नीचे दिया गया प्रोग्राम पायथन में क्लास एट्रिब्यूट एक्सेस करने के लिए उपरोक्त विधियों के उपयोग को चित्रित करता है।

उदाहरण

class StateInfo:
    StateName = 'Telangana'
    population = '3.5 crore'
    def func1(self):
        print("Hello from my function")

print(getattr(StateInfo, 'StateName'))
# यदि ऑब्जेक्ट में एट्रिब्यूट है तो True लौटाता है
print(hasattr(StateInfo, 'population'))
setattr(StateInfo, 'ForestCover', 39)
print(getattr(StateInfo, 'ForestCover'))
print(hasattr(StateInfo, 'func1'))

आउटपुट

Telangana
True
39
True

क्लास के मेथड एक्सेस करना

क्लास के मेथड को एक्सेस करने के लिए, हमें क्लास को ऑब्जेक्ट में इंस्टेंटिएट करना होगा। फिर हम मेथड को क्लास के इंस्टेंस मेथड के रूप में एक्सेस कर सकते हैं जैसा कि नीचे दिए गए प्रोग्राम में दिखाया गया है। यहाँ self पैरामीटर के माध्यम से, इंस्टेंस मेथड उसी ऑब्जेक्ट पर एट्रिब्यूट और अन्य मेथड एक्सेस कर सकते हैं।

उदाहरण

class StateInfo:
    StateName = 'Telangana'
    population = '3.5 crore'
    def func1(self):
        print("Hello from my function")

print(getattr(StateInfo, 'StateName'))
print(hasattr(StateInfo, 'population'))
setattr(StateInfo, 'ForestCover', 39)
print(getattr(StateInfo, 'ForestCover'))
print(hasattr(StateInfo, 'func1'))
obj = StateInfo()
obj.func1()

आउटपुट

Telangana
True
39
True
Hello from my function

एक क्लास के मेथड को दूसरी क्लास से एक्सेस करना

एक क्लास के मेथड को दूसरी क्लास से एक्सेस करने के लिए, हमें कॉल की गई क्लास के इंस्टेंस को कॉलिंग क्लास में पास करना होगा। नीचे दिया गया उदाहरण दिखाता है कि यह कैसे किया जाता है।

उदाहरण

class ClassOne:
    def m_class1(self):
        print("Method in class 1")

# कॉलिंग क्लास को परिभाषित करना
class ClassTwo(object):
    def __init__(self, c1):
        self.c1 = c1
    # कॉलिंग मेथड
    def m_class2(self):
        Object_inst = self.c1()
        Object_inst.m_class1()

# ClassOne ऑब्जेक्ट को ClassTwo के तर्क के रूप में पास करना
obj = ClassTwo(ClassOne)
obj.m_class2()

आउटपुट

Method in class 1
  1. - Python में बिल्ट-इन क्लास एट्रिब्यूट्स क्या हैं?

    Python डॉक्स के अनुसार, निम्नलिखित बिल्ट-इन क्लास एट्रिब्यूट्स हैं: हर Python क्लास निम्नलिखित बिल्ट-इन एट्रिब्यूट्स रखती है और उन्हें डॉट (.) ऑपरेटर का उपयोग करके किसी अन्य एट्रिब्यूट की तरह एक्सेस किया जा सकता है: __dict__: क्लास के नेमस्पेस वाला डिक्शनरी। __doc__: क्लास डॉक्यूमेंटेशन स्ट्रिंग या

  1. - Python में क्लास के एट्रिब्यूट्स कैसे डिफाइन करें?

    क्लास के एट्रिब्यूट्स लगभग सब कुछ Python में एक ऑब्जेक्ट है। हर ऑब्जेक्ट के एट्रिब्यूट्स और मेथड्स होते हैं। इस प्रकार एट्रिब्यूट्स Python में बहुत मौलिक हैं। एक क्लास समान ऑब्जेक्ट्स का संग्रह करने वाला एक कंस्ट्रक्ट है। एक क्लास के भी एट्रिब्यूट्स होते हैं। क्लास एट्रिब्यूट्स और इंस्टेंस एट्रिब्यू

  1. - Python क्लास में self और __init__ मेथड्स में क्या अंतर है?

    self self शब्द क्लास के इंस्टेंस को रिप्रेजेंट करने के लिए उपयोग किया जाता है। self कीवर्ड का उपयोग करके हम Python में क्लास के एट्रिब्यूट्स और मेथड्स को एक्सेस करते हैं। __init__ मेथड __init__ Python क्लासेस में एक रिज़र्व्ड मेथड है। ऑब्जेक्ट-ओरिएंटेड टर्मिनोलॉजी में इसे कंस्ट्रक्टर कहा जाता है। यह