पायथन क्लासेस एंड ऑब्जेक्ट्स - ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग



'पायथन क्लास' पर यह ब्लॉग वर्ग, विशेषता और विभिन्न OOPS अवधारणाओं जैसे कि उत्तराधिकार, बहुरूपता और इनकैप्सुलेशन के मूल सिद्धांतों से संबंधित है।

स्टैक ओवरफ्लो की भविष्यवाणी के बाद कि 2019 तक, पायथन सक्रिय डेवलपर्स के मामले में अन्य भाषाओं को पछाड़ देगा, की मांग केवल बढ़ रहा है।पायथन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रतिमान का अनुसरण करता है। यह अजगर वर्गों को घोषित करने, उनसे ऑब्जेक्ट बनाने और उपयोगकर्ताओं के साथ बातचीत करने से संबंधित है। एक वस्तु-उन्मुख भाषा में, कार्यक्रम स्व-निहित वस्तुओं में विभाजित है या आप कई मिनी-कार्यक्रमों में कह सकते हैं। प्रत्येक ऑब्जेक्ट अनुप्रयोग के एक अलग भाग का प्रतिनिधित्व कर रहा है जो आपस में संवाद कर सकता है।
इस अजगर वर्ग ब्लॉग में, आप निम्न क्रम में कक्षाओं और वस्तुओं के प्रत्येक पहलू को समझेंगे:

आएँ शुरू करें।:-)





पायथन क्लास क्या है?

अजगर में एक वर्ग वह खाका है जहां से विशिष्ट वस्तुओं का निर्माण होता है। यह आपको एक विशेष तरीके से अपने सॉफ़्टवेयर की संरचना करने देता है। यहाँ एक सवाल आता है कि कैसे? कक्षाएं हमें तार्किक रूप से हमारे डेटा और फ़ंक्शन को इस तरह से समूहित करने की अनुमति देती हैं कि उनका पुन: उपयोग करना आसान हो और यदि आवश्यक हो तो निर्माण करने का तरीका। नीचे की छवि पर विचार करें।

क्लासेसएंडऑब्जेक्ट्स - पायथन क्लास - एडुर्कापहली छवि (ए) में, यह एक घर का खाका दर्शाता है जिसे माना जा सकता है कक्षा । एक ही खाका के साथ, हम कई घर बना सकते हैं और इन्हें माना जा सकता है वस्तुएं । एक वर्ग का उपयोग करके, आप अपने कार्यक्रमों में निरंतरता जोड़ सकते हैं ताकि उनका उपयोग क्लीनर और कुशल तरीके से किया जा सके। विशेषताएँ डेटा सदस्य (वर्ग चर और उदाहरण चर) और विधियाँ हैं जो डॉट संकेतन के माध्यम से पहुँचते हैं।



  • वर्ग चर एक चर है जो एक वर्ग के सभी विभिन्न वस्तुओं / उदाहरणों द्वारा साझा किया जाता है।
  • आवृत्ति के चर चर हैं जो प्रत्येक उदाहरण के लिए अद्वितीय हैं। यह एक विधि के अंदर परिभाषित किया गया है और केवल एक वर्ग के वर्तमान उदाहरण के अंतर्गत आता है।
  • तरीके ऐसे कार्यों के रूप में भी कहा जाता है जो एक वर्ग में परिभाषित होते हैं और किसी वस्तु के व्यवहार का वर्णन करते हैं।

अब, हम आगे बढ़ते हैं और देखते हैं कि यह PyCharm में कैसे काम करता है। आरंभ करने के लिए, पहले एक अजगर वर्ग के वाक्यविन्यास पर एक नज़र डालें।

वाक्य - विन्यास :

क्लास Class_name: स्टेटमेंट -1। । कथन-एन

यहां ही ' कक्षा' कथन एक नई कक्षा परिभाषा बनाता है। कक्षा का नाम तुरंत कीवर्ड का अनुसरण करता है ” कक्षा' अजगर में जो एक बृहदान्त्र द्वारा पीछा किया जाता है। अजगर में एक वर्ग बनाने के लिए, नीचे दिए गए उदाहरण पर विचार करें:



वर्ग कर्मचारी: # गुण और विधियाँ पास करें_1 = कर्मचारी () एम्पायर 2 = कर्मचारी () # आइंस्टीन वैरिएबल स्वयं बनाया जा सकता है emp_1.first = 'aayushi' emp_1.last = 'जोहरी' emp_1.email='ayayushi@edureka.co 'emp_1.pay = 10000 emp_2.first =' test 'emp_2.last =' abc 'emp_2.email='test@company.com' emp_2.pay = 10000 प्रिंट (emp_1.email) प्रिंट (emp_2 .email)

आउटपुट -

aayushi@edureka.co test@company.com

बड़ा डेटा हूप क्या है

अब, क्या होगा यदि हम इन चरों को मैन्युअल रूप से सेट नहीं करना चाहते हैं। आपको बहुत सारे कोड दिखाई देंगे और यह भी त्रुटि के लिए प्रवण होगा। तो इसे स्वचालित बनाने के लिए, हम 'init' विधि का उपयोग कर सकते हैं। उसके लिए, आइए समझते हैं कि वास्तव में अजगर वर्ग में क्या विधियां और विशेषताएं हैं।

पायथन क्लास में विधियाँ और विशेषताएँ

अब कुछ कार्यक्षमता के बिना एक वर्ग बनाना अधूरा है। इसलिए विभिन्न विशेषताओं को निर्धारित करके कार्यक्षमता को परिभाषित किया जा सकता है जो डेटा के लिए एक कंटेनर के रूप में कार्य करता है और उन विशेषताओं से संबंधित कार्य करता है। अजगर में फंक्शंस को भी कहा जाता है तरीके । के बारे में बात कर रहे हैं इस में तरीका , यह एक विशेष कार्य है जिसे तब भी बुलाया जाता है जब उस वर्ग की एक नई वस्तु को त्वरित किया जाता है। आप इसे प्रारंभिक विधि के रूप में सोच सकते हैं या यदि आप किसी अन्य ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग पृष्ठभूमि जैसे कि C ++, Java आदि से आते हैं, तो आप इसे कंस्ट्रक्टर के रूप में मान सकते हैं। अब जब हम किसी वर्ग के अंदर एक विधि सेट करते हैं, तो वे स्वतः ही उदाहरण प्राप्त करते हैं। आइए अजगर वर्ग के साथ आगे बढ़ें और इस पद्धति का उपयोग करके पहला नाम, अंतिम नाम और वेतन स्वीकार करें।

वर्ग कर्मचारी: def __init __ (स्वयं, पहले, आखिरी, सल): self.fname = first self.lname = last self.sal = sal self.email = first + '।' + अंतिम + '@ company.com' emp_1 = कर्मचारी ('आयुषी', 'जोहरी', 350000) emp_2 = कर्मचारी ('परीक्षण', 'परीक्षण', 100000) प्रिंट (emp_1.email) प्रिंट (emp_2 .email)

अब हमारे 'init' विधि के भीतर, हमने ये उदाहरण चर (स्वयं, प्रथम, अंतिम, नमकीन) निर्धारित किए हैं। सेल्फ एक ऐसा उदाहरण है, जिसका अर्थ है कि जब भी हम self.fname = को लिखते हैं, तो यह समान है emp_1.first = 'aayushi'। फिर हमने कर्मचारी वर्ग के उदाहरण बनाए हैं जहां हम init विधि में निर्दिष्ट मान पास कर सकते हैं। यह विधि तर्कों के रूप में उदाहरणों को लेती है। इसे मैन्युअल रूप से करने के बजाय, यह किया जाएगा खुद ब खुद अभी।

अगला, हम किसी प्रकार की क्रिया करने की क्षमता चाहते हैं। उसके लिए, हम एक जोड़ देंगे तरीका इस वर्ग के लिए। मान लीजिए कि मैं कर्मचारी का पूरा नाम प्रदर्शित करने के लिए कार्यक्षमता चाहता हूं। तो आइए हम इसे व्यावहारिक रूप से लागू करें।

वर्ग कर्मचारी: def __init __ (स्वयं, पहले, आखिरी, सल): self.fname = first self.lname = last self.sal = sal self.email = first + '।' + अंतिम + '@ company.com' को पूरा नाम दें (स्व): वापसी '{} {}'। स्वरूप (self.fname, self.lname) emp_1 = कर्मचारी ('आयुषी', 'जोहरी', 350000) सहानुभूति = कर्मचारी ('परीक्षण', 'परीक्षण', 100000) प्रिंट (emp_1.email) प्रिंट (emp_2.email) प्रिंट (emp_1.fullname) () प्रिंट (emp_2.fullname) ()

आउटपुट-

aayushi.johari@company.com test.test@company.com aayushijohari testtest

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

पायथन वर्गों के साथ आगे बढ़ते हुए, चर होते हैं जो एक वर्ग के सभी उदाहरणों के बीच साझा किए जाते हैं। इन्हें कहा जाता है वर्ग चर । इंस्टेंस चर प्रत्येक उदाहरण के लिए अद्वितीय हो सकते हैं जैसे नाम, ईमेल, सैल आदि जटिल? इसे एक उदाहरण से समझते हैं। वेतन में वार्षिक वृद्धि का पता लगाने के लिए नीचे दिए गए कोड को देखें।

वर्ग कर्मचारी: perc_raise = 1.05 def __init __ (स्व, पहला, अंतिम, सल): self.fname = पहला स्व। lname = अंतिम स्व। sal = सल self.email = first + '।' + last + '@ company.com' def fullname (स्व): return '{} {}'। format (self.fname, self.lname) def apply_raise (self): self.sal = int (self.sal) 1.05 ) emp_1 = कर्मचारी ('आयुषी', 'जोहरी', 350000) emp_2 = कर्मचारी ('परीक्षण', 'परीक्षण', 100000) प्रिंट (emp_1.sal) emp_1.apply_raise () प्रिंट (emp_1.sal)

आउटपुट-

350000 367500

जैसा कि आप ऊपर देख सकते हैं, मैंने पहले वेतन मुद्रित किया है और फिर 1.5% वृद्धि लागू की है। इन वर्ग चर का उपयोग करने के लिए, हमें या तो उन्हें कक्षा के माध्यम से या कक्षा के एक उदाहरण के माध्यम से एक्सेस करना होगा। अब, अजगर वर्ग में विभिन्न विशेषताओं को समझते हैं।

पायथन क्लास में विशेषताएँ

पायथन में विशेषताएँ किसी वस्तु, तत्व या फ़ाइल की संपत्ति को परिभाषित करती हैं। विशेषताएँ दो प्रकार की होती हैं:

  • अंतर्निहित कक्षा विशेषताएं: पायथन कक्षाओं के अंदर मौजूद विभिन्न अंतर्निहित विशेषताएं हैं। उदाहरण के लिए _dict_, _doc_, _name _, आदि मुझे एक ही उदाहरण लेने दें जहां मैं कर्मचारी 1 के सभी प्रमुख-मूल्य जोड़े देखना चाहता हूं। उसके लिए, आप बस नीचे दिए गए कथन को लिख सकते हैं जिसमें वर्ग नाम स्थान है:

    प्रिंट (emp_1 .__ dict__)

    इसे निष्पादित करने के बाद, आपको आउटपुट मिलेगा: {name fname ’: it aayushi’, ‘lname’: ’johari’, ’sal’: 350000, ’email’: ‘aayushi.johari@company.com’}

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

अगला, हमारे पास है सार्वजनिक, संरक्षित तथा निजी विशेषताएँ। आइए उन्हें विस्तार से समझते हैं:

नामकरण प्रकार अर्थ
नामसह लोकइन विशेषताओं का स्वतंत्र रूप से एक वर्ग परिभाषा के अंदर या बाहर उपयोग किया जा सकता है
_नामसंरक्षितसंरक्षित परिभाषा का उपयोग वर्ग परिभाषा के बाहर नहीं किया जाना चाहिए, जब तक कि एक उपवर्ग परिभाषा के अंदर न हो
__नामनिजीइस तरह की विशेषता दुर्गम और अदृश्य है। कक्षा की परिभाषा के अंदर छोड़कर उन विशेषताओं को पढ़ना और न ही लिखना संभव है


इसके बाद, एक अजगर वर्ग यानी ऑब्जेक्ट में सबसे महत्वपूर्ण घटक को समझें।

पायथन क्लास में ऑब्जेक्ट क्या हैं?

जैसा कि हमने ऊपर चर्चा की है, एक वस्तु का उपयोग विभिन्न विशेषताओं तक पहुंचने के लिए किया जा सकता है। इसका उपयोग कक्षा का एक उदाहरण बनाने के लिए किया जाता है। एक उदाहरण रन-टाइम पर बनाई गई कक्षा का एक ऑब्जेक्ट है।

अजगर में एक महत्वपूर्ण त्रुटि क्या है

टीओ आपको एक त्वरित अवलोकन देते हैं, एक वस्तु जो मूल रूप से आपके आसपास दिखाई देने वाली सब कुछ है। उदाहरण के लिए: एक कुत्ता पशु वर्ग का एक उद्देश्य है, मैं मानव वर्ग का एक वस्तु हूं। इसी तरह, एक ही फोन क्लास के लिए अलग-अलग ऑब्जेक्ट हो सकते हैं।यह एक फ़ंक्शन कॉल के समान है जिसे हमने पहले ही चर्चा की है। इसे एक उदाहरण से समझते हैं:

वर्ग MyClass: def func (self): प्रिंट ('हैलो') # एक नया MyClass ob = MyClass () ob.func () बनाएं

अजगर वर्ग के साथ आगे बढ़ना, आइए विभिन्न ओओपी अवधारणाओं को समझें।

OOPs अवधारणाओं

OOPs ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को पायथन में संदर्भित करता है। खैर, पायथन पूरी तरह से वस्तु-उन्मुख नहीं है क्योंकि इसमें कुछ प्रक्रियात्मक कार्य शामिल हैं। अब, आप सोच रहे होंगे कि एक प्रक्रियात्मक और वस्तु-उन्मुख प्रोग्रामिंग के बीच अंतर क्या है। अपने संदेह को दूर करने के लिए, एक प्रक्रियात्मक प्रोग्रामिंग में, पूरे कोड को एक लंबी प्रक्रिया में लिखा जाता है, भले ही इसमें फ़ंक्शन और सबऑउटइन हो सकते हैं। यह प्रबंधनीय नहीं है क्योंकि डेटा और लॉजिक दोनों एक साथ मिल जाते हैं। लेकिन जब हम ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के बारे में बात करते हैं, तो प्रोग्राम स्व-निहित ऑब्जेक्ट या कई मिनी-प्रोग्राम में विभाजित होता है। प्रत्येक ऑब्जेक्ट अनुप्रयोग के एक अलग हिस्से का प्रतिनिधित्व कर रहा है, जिसके पास स्वयं के बीच संवाद करने के लिए अपना डेटा और तर्क है। उदाहरण के लिए, एक वेबसाइट में अलग-अलग ऑब्जेक्ट होते हैं जैसे कि चित्र, वीडियो आदि।
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में पायथन क्लास, ऑब्जेक्ट, इनहेरिटेंस, पॉलीमोर्फिज़्म, एब्सट्रैक्शन आदि की अवधारणा शामिल है। आइए इन विषयों को विस्तार से समझते हैं।

पायथन क्लास: वंशानुक्रम

वंशानुक्रम हमें आधार / माता-पिता वर्ग से विशेषताओं और विधियों को प्राप्त करने की अनुमति देता है। यह उपयोगी है क्योंकि हम उप-वर्ग बना सकते हैं और अपने मूल वर्ग से सभी कार्यक्षमता प्राप्त कर सकते हैं। तब हम अभिभावक वर्ग को प्रभावित किए बिना नई कार्यक्षमता को अधिलेखित और जोड़ सकते हैं। अभिभावक वर्ग और बाल वर्ग की अवधारणा को एक उदाहरण से समझते हैं।

जैसा कि हम छवि में देख सकते हैं, एक बच्चा पिता से गुण प्राप्त करता है। इसी तरह, अजगर में, दो वर्ग होते हैं:

1. पैरेंट क्लास (सुपर या बेस क्लास)

2. बाल वर्ग (उपवर्ग या व्युत्पन्न वर्ग)

एक वर्ग जो गुणों को विरासत में देता है, उसे इस रूप में जाना जाता है बच्चा वर्ग जबकि एक वर्ग जिसका गुण विरासत में मिला है, के रूप में जाना जाता है जनक कक्षा।

वंशानुक्रम का तात्पर्य सृजन करने की क्षमता से है उप-वर्ग जिसमें उनके माता-पिता के विशेषज्ञ शामिल हैं। इसे आगे चार प्रकारों में विभाजित किया गया है अर्थात् एकल, बहुस्तरीय, श्रेणीबद्ध और कई विरासत। एक बेहतर समझ पाने के लिए नीचे दी गई छवि देखें।

आइए अजगर वर्ग के साथ आगे बढ़ें और समझें कि विरासत कैसे उपयोगी है।

कहते हैं, मैं कर्मचारियों के प्रकारों के लिए कक्षाएं बनाना चाहता हूं। मैं ’डेवलपर्स’ और ll प्रबंधक ’बनाऊंगा क्योंकि उप-वर्ग दोनों डेवलपर्स और प्रबंधकों के पास एक नाम, ईमेल और वेतन होगा और ये सभी कार्यकुशलता कर्मचारी वर्ग में होगी। इसलिए, उपवर्गों के लिए कोड कॉपी करने के बजाय, हम कर्मचारी से विरासत में कोड का पुन: उपयोग कर सकते हैं।

वर्ग कर्मचारी: num_employee = 0 raise_amount = 1.04 def __init __ (स्वयं, पहला, अंतिम, सल): self.first = पहला स्व.हस्टल = अंतिम स्व। sal = सल self.email = पहला + '।' + last + '@ company.com' employee.num_employee + = 1 def fullname (स्व): वापसी '{{}'। format (self.first, self.last) def apply_raise (स्व): self.al = int ( self.sal * raise_amount) वर्ग डेवलपर (कर्मचारी): पास emp_1 = डेवलपर ('अयुषी', 'जोहरी', 1000000) प्रिंट (emp_1.email)
 आउटपुट - aayushi.johari@company.com

जैसा कि आप उपरोक्त आउटपुट में देख सकते हैं, डेवलपर वर्ग में कर्मचारी वर्ग के सभी विवरण उपलब्ध हैं।अब क्या होगा अगर मैं एक डेवलपर के लिए raise_amount को 10% में बदलना चाहता हूं? आइए देखें कि यह व्यावहारिक रूप से कैसे किया जा सकता है।

वर्ग कर्मचारी: num_employee = 0 raise_amount = 1.04 def __init __ (स्वयं, पहला, अंतिम, सल): self.first = पहला स्व.हस्टल = अंतिम स्व। sal = सल self.email = पहला + '।' + last + '@ company.com' employee.num_employee + = 1 def fullname (स्व): वापसी '{{}'। format (self.first, self.last) def apply_raise (स्व): self.al = int ( self.sal * raise_amount) वर्ग डेवलपर (कर्मचारी): raise_amount = 1.10 emp_1 = डेवलपर ('aayushi', 'johari', 1000000) प्रिंट (emp_1.raise_amount)
 आउटपुट - 1.1

जैसा कि आप देख सकते हैं कि इसने वेतन में प्रतिशत वृद्धि को 4% से 10% तक अद्यतन किया है।अब अगर मैं एक और विशेषता जोड़ना चाहता हूं, तो हमारे इनिट विधि में एक प्रोग्रामिंग भाषा कहें, लेकिन यह हमारे मूल वर्ग में मौजूद नहीं है। क्या इसका कोई हल है? हाँ! हम पूरे कर्मचारी तर्क की प्रतिलिपि बना सकते हैं और ऐसा कर सकते हैं लेकिन यह फिर से कोड आकार को बढ़ाएगा। तो उससे बचने के लिए, नीचे दिए गए कोड पर विचार करें:

वर्ग कर्मचारी: num_employee = 0 raise_amount = 1.04 def __init __ (स्वयं, पहला, अंतिम, सल): self.first = पहला स्व.हस्टल = अंतिम स्व। sal = सल self.email = पहला + '।' + last + '@ company.com' employee.num_employee + = 1 def fullname (स्व): वापसी '{{}'। format (self.first, self.last) def apply_raise (स्व): self.al = int ( self.sal * raise_amount) वर्ग डेवलपर (कर्मचारी): raise_amount = 1.10 def __init __ (सेल्फ, फर्स्ट, लास्ट, सॉल, प्रोग_लंग): सुपर ()। init __ (प्रथम, आख़िरी, सल) self.prog_lang = prog_lang emp_1 (डिवेलपर)। 'आयूषी', 'जोहरी', 1000000, 'अजगर') प्रिंट (emp_1.progll)

इसलिए, थोड़े से कोड के साथ, मैंने बदलाव किए हैं। मैंने सुपर .__ init __ का उपयोग किया है (प्रथम, अंतिम, भुगतान) जो आधार वर्ग से गुण प्राप्त करता है।निष्कर्ष निकालने के लिए, कोड का पुन: उपयोग करने और एक कार्यक्रम की जटिलता को कम करने के लिए विरासत का उपयोग किया जाता है।

पायथन वर्ग: बहुरूपता

कंप्यूटर विज्ञान में बहुरूपता अंतर्निहित रूपों को अलग करने के लिए एक ही इंटरफ़ेस प्रस्तुत करने की क्षमता है। व्यावहारिक रूप से, बहुरूपता का अर्थ है कि यदि क्लास बी को क्लास ए से विरासत में मिला है, तो क्लास ए के बारे में सब कुछ विरासत में नहीं मिला है, यह क्लास ए के अलग-अलग कामों में से कुछ कर सकता है। विरासत के साथ काम करते समय इसका सबसे अधिक उपयोग किया जाता है। पाइथन स्पष्ट रूप से बहुरूपिक है, इसमें मानक ऑपरेटरों को अधिभारित करने की क्षमता है ताकि उनके संदर्भ के आधार पर उचित व्यवहार हो।

आइए एक उदाहरण से समझते हैं:

वर्ग पशु: def __init __ (स्व, नाम): self.name = नाम डिफ टॉक (स्व): पास क्लास डॉग (एनिमल): डिफ टॉक (स्व): प्रिंट ('वूफ') क्लास कैट (एनिमल): डिफ टॉक ( स्व): प्रिंट ('MEOW!') c = कैट ('किटी') c.talk () d = डॉग (पशु) d.talk ()

आउटपुट -

मियांउ! वाह

अगला, आइए हम एक अन्य ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट यानी एब्सट्रैक्शन की ओर रुख करें।

पायथन क्लास: एब्सट्रैक्शन

समस्या के लिए उपयुक्त मॉडलिंग कक्षाओं द्वारा जटिल वास्तविकता को सरल बनाने के लिए अमूर्तता का उपयोग किया जाता है। यहां, हमारे पास एक अमूर्त वर्ग है जिसे तत्काल नहीं किया जा सकता है। इसका मतलब है कि आप इन वर्गों के लिए ऑब्जेक्ट या इंस्टेंस नहीं बना सकते हैं। इसका उपयोग केवल कुछ कार्यात्मकताओं को विरासत में लेने के लिए किया जा सकता है जिसे आप बेस क्लास कहते हैं। इसलिए आप कार्यक्षमताओं को प्राप्त कर सकते हैं लेकिन साथ ही, आप इस विशेष वर्ग का उदाहरण नहीं बना सकते हैं। एक उदाहरण के साथ अमूर्त वर्ग की अवधारणा को समझने दें:

abc import ABC से, abstractmethod class Employee (ABC): @abstractmethod def calcul_salary (self, sal): pass class Developer (Employee): def calcul_salary (self, sal): finalsalary = sal * 1.10 return finalsalary emp_1 = Developer () प्रिंट करें (emp_1.calculate_salary (10000))

आउटपुट-

11000.0

जैसा कि आप ऊपर दिए गए आउटपुट में देख सकते हैं, हमने बेस सैलरी को 10% तक बढ़ा दिया है यानी सैलरी अब 11000 है। अब, अगर आप वास्तव में चलते हैं और क्लास 'एम्प्लॉई' की एक वस्तु बनाते हैं, तो यह आपको अजगर के रूप में एक त्रुटि देता है। आपको अमूर्त वर्ग की एक वस्तु बनाने की अनुमति नहीं है। लेकिन विरासत का उपयोग करके, आप वास्तव में गुणों को विरासत में ले सकते हैं और संबंधित कार्यों को कर सकते हैं।

तो दोस्तों, यह सब अजगर वर्गों और वस्तुओं के बारे में संक्षेप में था। हमने अजगर में सभी मूल बातें, वस्तुओं और विभिन्न ऑब्जेक्ट-ओरिएंटेड अवधारणाओं को कवर किया है, इसलिए आप अभी से अभ्यास शुरू कर सकते हैं। मुझे उम्मीद है कि आप लोगों को 'पायथन क्लास' पर इस ब्लॉग को पढ़ने में बहुत मज़ा आया होगा और ऊपर और ऊपर चर्चा किए गए प्रत्येक पहलू के बारे में स्पष्ट हैं। अजगर वर्ग के बाद, मैं पुस्तकालय और सरणी सीखने के लिए अजगर पर अधिक ब्लॉगों के साथ आ रहा हूं। बने रहें!

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस 'पायथन क्लास' ब्लॉग के टिप्पणी अनुभाग में उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।

अपने विभिन्न अनुप्रयोगों के साथ अजगर का गहराई से ज्ञान प्राप्त करने के लिए, आप कर सकते हैं 24/7 समर्थन और आजीवन पहुंच के साथ हमारे लाइव ऑनलाइन प्रशिक्षण के साथ।

उदाहरण के साथ जावा में कास्टिंग