पायथन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए एक शुरुआती गाइड

पायथन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए एक शुरुआती गाइड

रास्पबेरी पाई से लेकर मशीन लर्निंग तक हर चीज में पायथन का इस्तेमाल किया जाता है। हालाँकि, यदि आप किसी बड़े प्रोजेक्ट पर काम करना चाहते हैं, तो आपको यह जानना होगा कि पायथन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के साथ कैसे काम करता है। इस लेख में उन मूलभूत बातों को शामिल किया जाएगा जिन्हें आपको जानना आवश्यक है।





यदि आप वास्तव में प्रोग्रामिंग में नहीं हैं, तो इसके बजाय इन सर्वश्रेष्ठ मोंटी पायथन रेखाचित्रों पर एक नज़र क्यों न डालें? आखिरकार उन्होंने भाषा को प्रेरित किया!





रुको, पायथन एक वास्तविक भाषा नहीं है?

आइए एक बात स्पष्ट करें: पायथन एक वास्तविक प्रोग्रामिंग भाषा है, यह लोकप्रिय है, और यह तेजी से बढ़ रही है। सिर्फ इसलिए कि यह स्यूडोकोड की तरह पढ़ता है और आप कर सकते हैं इसके साथ पाई पर कोड Minecraft , इसका मतलब यह नहीं है कि आपको इसे कम भाषा के रूप में छूट देनी चाहिए।





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

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



पायथन पूर्वापेक्षाएँ और सेटअप

आरंभ करने से पहले, आप अपने पायथन विकास पर्यावरण सेटअप को प्राप्त करना चाह सकते हैं। हम उपयोग करेंगे पायथन 3.6.5 , और जब आप पुराने संस्करणों का उपयोग कर सकते हैं, तो यदि आप बिल्कुल नए संस्करण का उपयोग कर रहे हैं, तो आपको निम्न समस्याओं का सामना करना पड़ेगा।

यदि आपके पास पहले से कोई वर्चुअल वातावरण नहीं है, तो आप एक आभासी वातावरण बनाना चाहेंगे, और पायथन के लिए पीआईपी स्थापित करें अगर यह स्थापित नहीं है (हालांकि यह पायथन के अधिकांश आधुनिक इंस्टॉलेशन के साथ आता है)। एक बार जब आप उन सेटअप को प्राप्त कर लेंगे, तो आप जाने के लिए अच्छे होंगे। आएँ शुरू करें!





पायथन की मूल बातें: कक्षाएं

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

यहां बताया गया है कि पायथन में कक्षा कैसे बनाई जाती है:





class Vehicle:
''' This class defines vehicles. '''
pass

सरल है ना? यहां कुछ चीजें हो रही हैं। कक्षा के शीर्ष पर टिप्पणी पर ध्यान दें। यह एक विशेष टिप्पणी है जिसे a . कहा जाता है डॉकस्ट्रिंग . इसे आपके कोड के बारे में थोड़ा सा समझाना चाहिए। ट्रिपल कोट्स का उपयोग करके ( '' ' ), आप पायथन को बता रहे हैं कि यह एक डॉकस्ट्रिंग है।

NS उत्तीर्ण कीवर्ड पायथन को कुछ नहीं करने के लिए कहता है। यह एक विशेष शब्द है, और आप इसे टूडू की तरह सोच सकते हैं। यह आपका कोड चलाएगा, लेकिन यह वास्तव में कुछ भी नहीं करता है।

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

red_car = Vehicle()

यदि आप इसे फिर से चलाते हैं, तो आप देखेंगे कि कुछ नहीं होता है। कोड सही ढंग से काम कर रहा है, लेकिन आपने इसे कुछ भी ध्यान देने योग्य करने के लिए नहीं कहा है। NS वाहन वर्ग एक वाहन के लिए ब्लूप्रिंट को परिभाषित करता है, और यह नवीनतम लाइन एक वाहन ऑब्जेक्ट बनाती है, और इसे एक नाम देती है लाल रंग की कार .

आप जितनी चाहें उतनी वस्तुएं बनाना संभव है:

red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

आइए कुछ और कोड जोड़ें। नामक एक विधि जोड़ें __इस में__ तक वाहन वर्ग:

class Vehicle:
''' This class defines vehicles. '''
def __init__(self, color='plain'):
''' Setup some custom car properties '''
print('New car made!')
self.color = color
red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

इस पर विशेष ध्यान दें __इस में__ तरीका। इसे दो अंडरस्कोर से शुरू और खत्म होना चाहिए। यह पायथन में एक विशेष विधि है। जब आप कोई नई वस्तु बनाते हैं तो इसे स्वचालित रूप से कॉल किया जाता है। इस कोड को चलाने पर 'नई कार बनी!' शब्द दिखाई देंगे। तीन बार।

आखिरकार, __इस में__ एक कस्टम तर्क लेता है जिसे कहा जाता है रंग . बराबर चिह्न और स्ट्रिंग तुरंत बाद में पायथन को निर्दिष्ट नहीं होने पर रंग को 'सादे' पर सेट करने के लिए कहते हैं। निर्माण के समय अपनी कार का रंग सेट करने के लिए आप अपने इंस्टेंस को संशोधित कर सकते हैं:

red_car = Vehicle(color='red')
green_car = Vehicle(color='green')
blue_car = Vehicle(color='blue')

यदि आप कार का रंग प्रिंट करते हैं, तो आप देखेंगे कि प्रत्येक इंस्टेंस का एक अलग रंग है, भले ही तीनों एक ही विनिर्देश (वर्ग) के लिए बनाए गए हों। पायथन आपको लगभग किसी भी चर या वस्तु तक पहुँचने की अनुमति देता है --- कई अन्य भाषाएँ आपको ऐसा करने की अनुमति नहीं देती हैं:

print(red_car.color)
print(green_car.color)
print(blue_car.color)

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

अपना संशोधित करें __इस में__ कार शोर को एक चर में स्टोर करने की विधि:

self.noise = 'Vroooom'

कार के शोर को प्रिंट करने के लिए, आप बस एक्सेस कर सकते हैं शोर चर, जैसे आपने रंग के साथ किया था, लेकिन यह सबसे अच्छा विचार नहीं है। क्या होगा यदि, जब आप कार चलाते हैं, तो आप चाहते हैं कि कोई अन्य कोड उसी समय चले, हो सकता है कि वह कोड जो आपने अभी तक नहीं लिखा हो? या क्या होगा यदि आप भविष्य में कार चलाने के तरीके को बदलना चाहते हैं? a . बनाकर समारोह (जिसे ए के रूप में भी जाना जाता है तरीका ), आप कसकर नियंत्रित कर सकते हैं कि चीजें कैसे काम करती हैं। इसे अपने नीचे जोड़ें __इस में__ तरीका:

def drive(self):
print(self.noise)

आप इस विधि को काफी सरलता से कह सकते हैं:

red_car.drive()

जब भी आप कॉल करते हैं चलाना विधि, पायथन ध्वनि को प्रिंट करेगा। आप सभी जागीर कार्यों को करने के लिए इसका विस्तार कर सकते हैं, लेकिन इसे अभी के लिए छोड़ दें।

बहुत बढ़िया! अब तक आपको बुनियादी बातों पर अपनी पकड़ मजबूत कर लेनी चाहिए। आपको अपनी अनूठी क्षमताओं और कार्यों के साथ अपनी खुद की कक्षाएं बनाने और उनका उपयोग करने में सक्षम होना चाहिए।

पायथन में निजी चर के बारे में क्या?

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

पायथन में निजी सदस्य नहीं हैं। इसके बजाय, पायथन एक सम्मान प्रणाली पर निर्भर करता है: 'हम सभी सहमत वयस्क हैं।' पायथन प्रोग्रामर समझते हैं कि आप एक वर्ग के संवेदनशील इंटर्नल के साथ छेड़छाड़ करना चाह सकते हैं, और यह ठीक है, इसलिए कुछ भी वास्तव में दुर्गम नहीं होना चाहिए।

हालांकि, कुछ चरों को 'निजी' के रूप में चिह्नित करने के लिए पायथन के पास एक स्वीकृत परंपरा है, 'यह चर आंतरिक उपयोग के लिए है और आपको शायद इसे छूने की आवश्यकता नहीं है।' कन्वेंशन वैरिएबल नामों को अंडरस्कोर के साथ उपसर्ग करना है:

_some_secret_variable = 42

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

यह कभी-कभी छिपे हुए सामान के साथ छेड़छाड़ करने का पायथन तरीका है, लेकिन आप जोखिम उठाते हैं कि चीजें ठीक से काम नहीं कर सकती हैं।

पायथन में वंशानुक्रम को समझना

वंशानुक्रम दोहराव को कम करने और कोड का पुन: उपयोग करने का एक और तरीका है। माता-पिता और बच्चे के रिश्ते के बारे में सोचकर, विरासत की अनुमति देता है बच्चा के साथ सामान्य कोड साझा करने के लिए माता-पिता . आइए एक इलेक्ट्रिक कार लागू करें, जो माता-पिता से विरासत में मिलती है।

इस कोड को अपने नीचे जोड़ें वाहन वर्ग:

class ElectricCar(Vehicle):
''' Electric vehicle class. '''
def charge(self):
print('Zzz')
electric_car = ElectricCar()
electric_car.charge()
electric_car.noise = 'Whoosh'
electric_car.drive()

के बाद इलेक्ट्रिक कार परिभाषित किया गया है, वाहन वर्ग दो कोष्ठकों के अंदर निर्दिष्ट है। यह पायथन को बताता है कि इलेक्ट्रिक कार का बच्चा है वाहन . यह इसे प्रदान किए गए सभी डेटा और विधियों तक पहुंच प्रदान करता है वाहन .

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

आगे भी अपने पायथन ज्ञान का विस्तार करें

इन उदाहरणों ने दिखाया है कि पायथन में ओओपी कितना आसान हो सकता है। हमने केवल बहुत ही मूल बातें कवर की हैं, लेकिन एक बार जब आप उन्हें नीचे कर लेते हैं, तो बाकी चीजें आसान हो जाती हैं।

iPhone पर पुराने टेक्स्ट पर वापस कैसे जाएं

यदि आप पायथन सीखना जारी रखना चाहते हैं, या शायद इन ओओपी कौशलों को व्यवहार में लाना चाहते हैं, तो क्यों न इस पर एक नज़र डालें पायथन में सरणियाँ और सूचियाँ , या पाइथन और जावास्क्रिप्ट को संवाद करने के बारे में क्या?

यदि इन सब बातों ने आपको और अधिक चाहने के लिए छोड़ दिया है, तो पायथन सीखने के लिए इन सर्वोत्तम वेबसाइटों को देखना न भूलें।

साझा करना साझा करना कलरव ईमेल डिस्क स्थान खाली करने के लिए इन विंडोज़ फ़ाइलों और फ़ोल्डरों को हटाएं

अपने Windows कंप्यूटर पर डिस्क स्थान साफ़ करने की आवश्यकता है? यहां विंडोज़ फ़ाइलें और फ़ोल्डर्स हैं जिन्हें डिस्क स्थान खाली करने के लिए सुरक्षित रूप से हटाया जा सकता है।

आगे पढ़िए
संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • अजगर
  • वस्तु उन्मुख कार्यकर्म
लेखक के बारे में जो कोबर्न(136 लेख प्रकाशित)

जो ब्रिटेन के लिंकन विश्वविद्यालय से कंप्यूटर विज्ञान में स्नातक हैं। वह एक पेशेवर सॉफ्टवेयर डेवलपर है, और जब वह ड्रोन नहीं उड़ा रहा है या संगीत नहीं लिख रहा है, तो उसे अक्सर तस्वीरें लेते या वीडियो बनाते हुए पाया जा सकता है।

जो कोबर्न . की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें