डेटा क्लास
मेहमान के पास नाम nora और सीट 12 है, पर उसे सँभालने वाला init आपने खुद नहीं लिखा। Guest के ऊपर बस @dataclass लगा है, और वही नीचे के फ़ील्ड देखकर यह तैयारी बना देता है। str भी आप नहीं लिखते। इस काम में न कोई पैकेज लगता है, न कोई फ़ोल्डर बनता है।
from dataclasses import dataclass
@dataclass
class Guest:
name: str
seat: int
guest = Guest("nora", 12)
print(guest)
मेहमान आप अब भी खुद बनाते हैं: Guest("nora", 12)। पहले शब्द आता है, फिर संख्या, क्योंकि फ़ील्ड इसी क्रम में रखे हैं। print(guest) दोनों चीज़ें एक ही पंक्ति में लिख देता है, और स्क्रीन पर ठीक यही एक पंक्ति दिखती है: Guest(name='nora', seat=12)। यह मेहमान किसी और ऑब्जेक्ट के भीतर नहीं बैठा है, और Guest किसी दूसरी क्लास की आगे बढ़ाई क्लास भी नहीं है।
nora पर उद्धरण चिह्न इसलिए हैं कि वह रखा हुआ शब्द है। 12 पर नहीं हैं, क्योंकि वह पूर्णांक है और उसमें दशमलव बिंदु भी नहीं। लिखने का काम print का है। guest.name से nora मिलता है और guest.seat से 12। दूसरी पंक्ति नहीं आती, badge नहीं जुड़ता, blue नहीं लिखा जाता। str आपने कभी टाइप नहीं किया। छपी हुई पंक्ति का रूप @dataclass तय करता है। print हटा दें तो स्क्रीन खाली रहती है, क्योंकि मेहमान बना लेना और उसे लिखना एक बात नहीं है।
सीट छोड़ दें तो प्रोग्राम रुक जाता है। Guest("nora") प्रोग्राम में है ही नहीं। सीट वाले फ़ील्ड को कोई मान नहीं मिला, इसलिए प्रोग्राम TypeError पर रुकता है। None नहीं लिखा जाता और प्रोग्राम आगे नहीं बढ़ता। name: str और seat: int, ये दोनों पंक्तियाँ फ़ील्ड हैं। इनसे न दूसरा मेहमान बनता है, न फ़ोल्डर। class Guest(Pen) मत लिखिए, वह रूप आगे बढ़ाई क्लास बनाता है। पेन रखने वाला बैग भी इस पन्ने की बात नहीं है। यहाँ मेहमान एक ही है और दोनों फ़ील्ड उसी पर रहते हैं।
एक मेहमान, दो फ़ील्ड
एक मेहमान बना, उसके दो फ़ील्ड भरे, और print ने उन्हें स्क्रीन पर लिख दिया। अगला पन्ना खराबी ढूँढ़ना है। यह पन्ना सिर्फ़ नाम और सीट सँभालता है और उन्हें स्क्रीन पर लिखता है।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी