पायथन कक्षाएं और वस्तुएं
पायथन क्लासेस/ऑब्जेक्ट्स
पायथन एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है।
पायथन में लगभग सब कुछ एक वस्तु है, इसके गुणों और विधियों के साथ।
एक क्लास ऑब्जेक्ट कंस्ट्रक्टर या ऑब्जेक्ट बनाने के लिए "ब्लूप्रिंट" की तरह है।
एक क्लास बनाएं
एक वर्ग बनाने के लिए, कीवर्ड का उपयोग करें class
:
उदाहरण
MyClass नाम की एक क्लास बनाएं, जिसमें x नाम की प्रॉपर्टी हो:
class MyClass:
x = 5
वस्तु बनाएँ
अब हम वस्तुओं को बनाने के लिए MyClass नामक वर्ग का उपयोग कर सकते हैं:
उदाहरण
p1 नाम का ऑब्जेक्ट बनाएं और x का मान प्रिंट करें:
p1 = MyClass()
print(p1.x)
__init__() फ़ंक्शन
ऊपर दिए गए उदाहरण वर्ग और वस्तुएं उनके सरलतम रूप में हैं, और वास्तविक जीवन के अनुप्रयोगों में वास्तव में उपयोगी नहीं हैं।
कक्षाओं के अर्थ को समझने के लिए हमें अंतर्निहित __init__() फ़ंक्शन को समझना होगा।
सभी वर्गों में __init__() नामक एक फ़ंक्शन होता है, जिसे कक्षा शुरू होने पर हमेशा निष्पादित किया जाता है।
ऑब्जेक्ट गुणों, या अन्य कार्यों को मान निर्दिष्ट करने के लिए __init__() फ़ंक्शन का उपयोग करें जो ऑब्जेक्ट बनाते समय करने के लिए आवश्यक हैं:
उदाहरण
व्यक्ति नाम का एक वर्ग बनाएं, नाम और उम्र के लिए मान निर्दिष्ट करने के लिए __init__() फ़ंक्शन का उपयोग करें:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John",
36)
print(p1.name)
print(p1.age)
नोट: जब __init__()
भी कोई नई वस्तु बनाने के लिए कक्षा का उपयोग किया जा रहा हो तो फ़ंक्शन को स्वचालित रूप से कॉल किया जाता है।
वस्तु के तरीके
वस्तुओं में विधियाँ भी हो सकती हैं। वस्तुओं में विधियाँ वे कार्य हैं जो वस्तु से संबंधित हैं।
आइए व्यक्ति वर्ग में एक विधि बनाएं:
उदाहरण
एक फ़ंक्शन डालें जो ग्रीटिंग को प्रिंट करता है, और इसे p1 ऑब्जेक्ट पर निष्पादित करता है:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John",
36)
p1.myfunc()
नोट: पैरामीटर self
वर्ग के वर्तमान उदाहरण का संदर्भ है, और वर्ग से संबंधित चरों तक पहुंचने के लिए उपयोग किया जाता है।
स्वयं पैरामीटर
पैरामीटर वर्ग के वर्तमान उदाहरण का self
एक संदर्भ है, और इसका उपयोग वर्ग से संबंधित चरों तक पहुँचने के लिए किया जाता है।
इसे नाम देने की आवश्यकता नहीं है self
, आप इसे जो चाहें कॉल कर सकते हैं, लेकिन यह कक्षा में किसी भी फ़ंक्शन का पहला पैरामीटर होना चाहिए:
उदाहरण
स्वयं के बजाय mysillyobject और abc शब्दों का प्रयोग करें :
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Hello my name is " + abc.name)
p1 = Person("John",
36)
p1.myfunc()
वस्तु गुण संशोधित करें
आप इस तरह की वस्तुओं पर गुणों को संशोधित कर सकते हैं:
उदाहरण
p1 से 40 की आयु निर्धारित करें:
p1.age = 40
ऑब्जेक्ट गुण हटाएं
del
आप कीवर्ड का उपयोग करके वस्तुओं पर गुण हटा सकते हैं :
उदाहरण
p1 ऑब्जेक्ट से आयु गुण हटाएं:
del p1.age
वस्तुओं को हटाएं
del
आप कीवर्ड का उपयोग करके वस्तुओं को हटा सकते हैं :
उदाहरण
p1 ऑब्जेक्ट हटाएं:
del p1
पास स्टेटमेंट
class
परिभाषाएँ खाली नहीं हो सकतीं, लेकिन अगर किसी कारण से आपके पास class
कोई सामग्री नहीं है, तो pass
त्रुटि से बचने के लिए कथन में डालें।
उदाहरण
class Person:
pass