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

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


एक वस्तु उन्मुख प्रोग्रामिंग भाषा के रूप में अजगर वस्तुओं पर जोर देता है। कक्षाएं वह खाका हैं जिससे वस्तुएं बनाई जाती हैं। पायथन में प्रत्येक वर्ग में एक विशेषता के रूप में फ़ंक्शन सहित कई विशेषताएं हो सकती हैं।

कक्षा की विशेषताओं को एक्सेस करना

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

  • getattr () - एक अजगर विधि का उपयोग किसी वर्ग की विशेषता तक पहुँचने के लिए किया जाता है।

  • हसतर () - एक पायथन विधि जिसका उपयोग किसी वर्ग में किसी विशेषता की उपस्थिति को सत्यापित करने के लिए किया जाता है।

  • सेटैटर () - एक अजगर विधि एक वर्ग में एक अतिरिक्त विशेषता सेट करने के लिए प्रयोग किया जाता है।

नीचे दिया गया प्रोग्राम अजगर में वर्ग विशेषताओं तक पहुँचने के लिए उपरोक्त विधियों के उपयोग को दिखाता है।

उदाहरण

class StateInfo:
   StateName='Telangana'
   population='3.5 crore'

   def func1(self):
      print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute
print hasattr(StateInfo,'population')

setattr(StateInfo,'ForestCover',39)

print getattr(StateInfo,'ForestCover')

print hasattr(StateInfo,'func1')

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Telangana
True
39
True

कक्षा के तरीके को एक्सेस करना

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

उदाहरण

class StateInfo:
   StateName='Telangana'
   population='3.5 crore'

   def func1(self):
      print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute
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"

# Definign the calling Class
class ClassTwo(object):
def __init__(self, c1):
self.c1 = c1

# The calling method
def m_class2(self):
Object_inst = self.c1()
Object_inst.m_class1()

# Passing classone object as an argument to classTwo
obj = ClassTwo(ClassOne)
obj.m_class2()

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Method in class 1

  1. पायथन में अंतर्निहित वर्ग विशेषताएँ क्या हैं?

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

  1. पायथन में किसी वर्ग की विशेषताओं को कैसे परिभाषित करें?

    कक्षा की विशेषताएं सब कुछ, पायथन में लगभग सब कुछ एक वस्तु है। प्रत्येक वस्तु में गुण और विधियाँ होती हैं। इस प्रकार पायथन में विशेषताएँ बहुत मौलिक हैं। एक वर्ग एक निर्माण है जो समान वस्तुओं का संग्रह है। एक वर्ग में गुण भी होते हैं। वर्ग विशेषताओं और उदाहरण विशेषताओं के बीच अंतर होगा। वर्ग विशेषताओ

  1. अजगर वर्ग में स्वयं और __init__ विधियों में क्या अंतर है?

    स्वयं एक वर्ग के उदाहरण का प्रतिनिधित्व करने के लिए स्व शब्द का प्रयोग किया जाता है। स्वयं कीवर्ड का उपयोग करके हम अजगर में वर्ग की विशेषताओं और विधियों तक पहुँच प्राप्त करते हैं। __init__ विधि __init__ पायथन कक्षाओं में एक संशोधित विधि है। इसे ऑब्जेक्ट ओरिएंटेड शब्दावली में कंस्ट्रक्टर कहा जाता ह