ऑब्जेक्ट ओरिएंटेड भाषा में, एक क्लास कोड का एक एक्स्टेंसिबल टुकड़ा है जो उस क्लास की वस्तुओं को बनाने और उपयोग करने के लिए एक टेम्पलेट का प्रतिनिधित्व करता है। एक वर्ग की एक वस्तु बस परिभाषित वर्ग की एक आवृत्ति को संदर्भित करती है।

पायथन क्लास बेसिक्स

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

एक वर्ग सदस्य कार्यों (विधियों के रूप में भी जाना जाता है) के रूप में व्यवहार का एक सेट प्रदान करता है, जिसमें ऐसे कार्यान्वयन होते हैं जो सामान्य हैं उस वर्ग के सभी उदाहरण, और यह भी निर्धारित करता है कि इसके उदाहरण के लिए राज्य की जानकारी किस रूप में दर्शाई गई है विशेषताएँ।

अधिक पढ़ें: पायथन में कक्षा के तरीके: महत्वपूर्ण अंतर

नीचे दिया गया कोड पायथन में एक परिभाषित वर्ग का एक उदाहरण प्रस्तुत करता है। कोड में परिभाषित वर्ग रेसकार वर्ग का कार्यान्वयन प्रदान करता है।

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

instagram viewer

यह कार क्लास, प्रत्येक कार के भीतर एक विशेष सेंसर को मॉडल करता है जो कार के चालक के खिलाफ $ 50 का जुर्माना जमा करता है यदि वह 140 मील प्रति घंटे की कानूनी गति सीमा से अधिक है।

क्लास का उदाहरण (कार क्लास)


क्लास कार:
# कंस्ट्रक्टर
कक्षा में #variables के मानों को आरंभ करने के लिए init विधि जिम्मेदार है।
def __init __ (स्व, कार_नाम, ड्राइवर_नाम, लाइसेंस_प्लेट_नंबर,
current_speed, speeding_charge, color):
self.car_name = car_name
self._driver_name = driver_name
self._license_plate_number = लाइसेंस_प्लेट_नंबर
self._current_speed = current_speed
self._speeding_charge = speeding_charge
self._colour = रंग
# सफल तरीके
# Get_car_name तरीका कार का नाम देता है
def get_car_name (स्व):
स्व
# Get_driver_name विधि ड्राइवर का नाम लौटाती है
def get_driver_name (स्व):
स्व
# Get_license_plate विधि कार की लाइसेंस प्लेट वापस करती है
def get_license_plate (स्वयं):
स्व वापस करें
# Get_current_speed विधि उस वर्तमान गति को लौटाती है जिस पर कार # चल रही है
def get_current_speed (स्व):
स्व वापस करें
# Get_speeding_charge विधि उस कुल धन को लौटाती है जो
#driver को ओवर-स्पीडिंग के लिए भुगतान करना होगा
def get_speeding_charge (स्वयं):
स्व
# Get_colour विधि हमारी प्यारी सवारी का रंग लौटाती है!
def get_colour (स्व):
स्व
# विधायक तरीके
# Set_driver मान हमारी कार के ड्राइवर को बदल देता है।
def set_driver (स्वयं, new_driver):
self._driver_name = new_driver
# स्पीडिंग_टिकेट विधि यह सुनिश्चित करती है कि चालक से 50 रुपये का शुल्क लिया जाए जब # वह 140 मील प्रति घंटे से अधिक की गति पकड़े।
def speeding_ticket (स्वयं, current_speed):
यदि current_speed <= 140:
विवरण झूठा है
अन्य:
self._speeding_charge + = 50
सच लौटाओ
# मेक_पेमेंट मेथड यह सुनिश्चित करता है कि ड्राइवर उन सभी # पैसों का भुगतान करने में सक्षम है जो वह टिकट शुल्क में तेजी के लिए चुकाता है।
डीईएम_पेमेंट (स्वयं, राशि_ भुगतान)
self._speeding_charge - = amount_paid

पायथन क्लास उदाहरण का एक स्पष्टीकरण

"स्व" पैरामीटर

सबसे पहले, ध्यान दें कि वर्ग में घोषित विधि हस्ताक्षर और विधि हस्ताक्षर के बीच का अंतर है जो फ़ंक्शन को कॉल करने के लिए उपयोग किया जाता है। उदाहरण के लिए, get_colour कक्षा में परिभाषित विधि एक पैरामीटर लेता है जो 'स्व' पैरामीटर है।

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

ऐसा इसलिए है क्योंकि प्रदान किए गए ’स्व’ पैरामीटर का उद्देश्य उस वस्तु उदाहरण के लिए विधि को बाध्य करना है जिस पर इसे बुलाया गया था और यह प्रोग्रामर द्वारा दिया जाने वाला मान नहीं है।

द कंस्ट्रक्टर

एक वर्ग का एक निर्माता उस वर्ग की विधि को संदर्भित करता है जिसे उपयोगकर्ता उस वर्ग का ऑब्जेक्ट उदाहरण बनाने के लिए कॉल कर सकता है। कार वर्ग में, उपयोगकर्ता निम्नलिखित सिंटैक्स का उपयोग करके एक वस्तु उदाहरण बना सकता है:

# हमारे अपने बुगाटी बनाने के लिए :)
कार ("बुगाटी", "डेविड सासु", 90828, 0, 0, "चेरी रेड")

इस कोड के क्रियान्वयन से कार वर्ग में __init__ पद्धति के लिए कॉल किया जाता है। इस पद्धति की जिम्मेदारी प्रदान की गई उदाहरण मूल्यों के साथ एक नई बनाई गई क्रेडिट कार ऑब्जेक्ट को उत्पन्न करना है। कार वर्ग की प्रत्येक वस्तु छह उदाहरण चर का गठन किया गया है:

  • _car_name
  • _चालक का नाम
  • _लाइसेंस प्लेट
  • _वर्तमान गति
  • _speeding_charge
  • _रंग

एक्सेसर के तरीके

ये ऐसी विधियाँ हैं जो किसी वस्तु उदाहरण की स्थिति की जानकारी तक पहुँचने के लिए लिखी जाती हैं। कार वर्ग में, अभिगम के तरीके जो लिखे गए थे:

  • get_car_name
  • get_driver_name
  • get_license_plate
  • get_current_speed
  • get_speeding_charge
  • get_colour

उत्परिवर्ती तरीके:

ये ऐसी विधियाँ हैं जो किसी वस्तु उदाहरण की स्थिति की जानकारी को बदलने के लिए लिखी जाती हैं। कार वर्ग में, उत्परिवर्ती तरीके जो लिखे गए थे:

  • set_driver
  • तेजी से टिकट
  • भुगतान करो

इनकैप्सुलेशन की अवधारणा

‘एनकैप्सुलेशन’ एक शब्द है जिसका उपयोग ऑब्जेक्ट ओरिएंटेड डिज़ाइन के एक सिद्धांत का वर्णन करने के लिए किया जाता है जहाँ किसी प्रोग्राम के घटकों को उनके संबंधित कार्यान्वयन के आंतरिक विवरण को प्रकट नहीं करना चाहिए। एन्कैप्सुलेशन की अवधारणा के बारे में अपनी समझ बढ़ाने के लिए, हमारा देखें इनकैप्सुलेशन पर लेख।

त्रुटि की जांच कर रहा है

कार क्लास का हमारा कार्यान्वयन मजबूत नहीं है क्योंकि यह प्रोग्रामर से प्राप्त होने वाले इनपुट के आधार पर क्रैश या खराबी की संभावना है।

पहले, ध्यान दें कि हम speeding_ticket के मापदंडों और मेक_पेमेंट के तरीकों की जाँच नहीं करते हैं, न ही हम कंस्ट्रक्टर के किसी भी पैरामीटर के प्रकार की जाँच करते हैं। यह प्रोग्राम क्रैश हो सकता है यदि उपयोगकर्ता एक तर्क प्रदान करता है जो अपेक्षित नहीं था। उदाहरण के लिए, यदि उपयोगकर्ता कॉल करता है जैसे कि speeding_ticket ("चिप्स ahoy") तो प्रोग्राम क्रैश हो जाएगा क्योंकि जिस प्रकार की उम्मीद कर रहा था वह एक पूर्णांक था और स्ट्रिंग नहीं।

अब आप पायथन क्लास की मूल बातें समझें

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

इस जानकारी के साथ, आप अपने दम पर एक साधारण अजगर वर्ग बनाने में सक्षम होना चाहिए और यह परीक्षण करना चाहिए :)

ईमेल
WhatsApp डेस्कटॉप और वेब एक्सेस के लिए बॉयोमीट्रिक प्रमाणीकरण लागू कर रहा है

अब, आपको अपने खाते को डेस्कटॉप और वेब ऐप से जोड़ने के लिए अपने मोबाइल डिवाइस के माध्यम से अपनी पहचान सत्यापित करनी होगी।

संबंधित विषय
  • प्रोग्रामिंग
  • अजगर
लेखक के बारे में
डेविड सासु (1 लेख प्रकाशित)डेविड सासु से अधिक

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

टेक टिप्स, रिव्यू, फ्री ईबुक और एक्सक्लूसिव डील्स के लिए हमारे न्यूज़लेटर से जुड़ें!

एक और कदम…!

कृपया हमें आपके द्वारा भेजे गए ईमेल में अपने ईमेल पते की पुष्टि करें।

.