Python Classes & Objects क्या हैं? | Class and Object in Python Hindi | OOP Tutorial
Python Classes & Objects
पिछले lesson में हमने OOP का overall idea समझा था — कि कैसे program को "objects" के इर्द-गिर्द design किया जाता है। अब इस lesson में हम OOP के सबसे पहले और सबसे जरूरी दो concepts सीखेंगे — Class और Object, और यह समझेंगे कि दोनों के बीच क्या relationship होता है।
अगर आपने अभी OOP का intro नहीं पढ़ा है, तो पहले उसे पढ़ना बेहतर रहेगा, क्योंकि यह lesson उसी foundation पर आगे बढ़ता है। Examples खुद run करने के लिए हमारा Online Python Editor & Compiler use कर सकते हैं।
__init__, Constructor, Methods, Inheritance, Encapsulation, Polymorphism और Abstraction को इस lesson में detail में नहीं पढ़ाया जाएगा — इन्हें आगे अलग-अलग dedicated lessons में practical examples के साथ समझाया जाएगा।
Class क्या है?
Class किसी चीज़ का एक design या structure है, जो यह बताता है कि उस चीज़ के पास कैसी जानकारी (properties) हो सकती है। Class खुद कोई असली चीज़ नहीं है — यह सिर्फ एक blueprint है।
सरल भाषा में — Class यह बताता है कि किसी चीज़ का "आकार" कैसा होगा, लेकिन वह खुद वह चीज़ नहीं है।
यहाँ हमने Student नाम की एक Class बनाई। अभी इसमें कुछ नहीं लिखा (इसलिए pass इस्तेमाल किया), लेकिन यह Python को बता देता है कि "Student" नाम का एक design मौजूद है।
Object क्या है?
Object किसी Class से बनी एक असली चीज़ है। Class अगर एक design है, तो Object उस design से बनी एक actual चीज़ है, जिसके पास अपना data होता है।
Output (कुछ इस तरह):
student1 = Student() ने Student Class से एक नया Object बना दिया। Output में दिख रहा memory address बताता है कि यह एक असली, अलग object है।
Class और Object में Difference
| Class | Object |
|---|---|
| एक design / blueprint है | उस design से बनी एक असली चीज़ है |
| खुद कोई data नहीं रखती | अपना खुद का data रखता है |
| सिर्फ एक बार define होती है | एक Class से कई objects बनाए जा सकते हैं |
class Student: | student1 = Student() |
Class को Blueprint/Template के रूप में समझना
Class को किसी घर के नक्शे (blueprint) की तरह समझा जा सकता है। एक नक्शा खुद कोई घर नहीं है — वह सिर्फ बताता है कि घर कैसा बनेगा। उसी नक्शे से कई असली घर बनाए जा सकते हैं, और हर घर का अपना रंग, पता, और सामान हो सकता है।
इसी तरह Python में Student Class एक नक्शा है, और student1, student2 जैसे objects उस नक्शे से बने असली "घर" (असली students) हैं।
Class से Object बनाना
किसी Class से Object बनाने के लिए Class के नाम के आगे () लगाया जाता है — बिल्कुल किसी function को call करने जैसा।
Output:
type(my_car) confirm करता है कि my_car असल में Car Class का ही एक Object है।
एक Class से Multiple Objects बनाना
एक ही Class से जरूरत के अनुसार कई अलग-अलग objects बनाए जा सकते हैं — हर एक अपनी अलग पहचान के साथ।
Output (हर object का address अलग होगा):
तीनों objects एक ही Student Class से बने हैं, लेकिन memory में तीनों अलग-अलग, independent चीज़ें हैं।
अलग-अलग Objects में अलग-अलग Data रखना
हर Object अपनी खुद की जानकारी रख सकता है। किसी object में directly नई value assign करके उसमें data जोड़ा जा सकता है।
Output:
यहाँ student1 और student2 दोनों Student Class के objects हैं, लेकिन दोनों के पास अपना-अपना, अलग-अलग data है।
__init__ और Constructor का इस्तेमाल किया जाता है, जो हम अगले lesson में सीखेंगे।
Real-World Examples
Class और Object के concept को और clearly समझने के लिए कुछ real-world examples देखें:
| Class (Design) | Objects (असली चीज़ें) |
|---|---|
Car | आपकी Car, पड़ोसी की Car, कंपनी की Car |
Student | Ankit, Priya, Rahul |
BankAccount | Account No. 101, Account No. 102 |
Mobile | iPhone 15, Samsung S24, OnePlus 12 |
हर row में बाईं तरफ वाली चीज़ एक design है, और दाईं तरफ वाली चीज़ें उस design से बनी असली चीज़ें हैं — बिल्कुल वैसे ही जैसे Python में Class और उससे बने Objects होते हैं।
VS Code में Practical Python Coding
अब इसे खुद VS Code में try करते हैं। एक नई file classes_objects.py बनाइए और यह code लिखिए:
File save करके VS Code के Terminal में इसे run कीजिए।
Code को Terminal में Run करके Output देखना
दोनों lines अलग-अलग हैं, क्योंकि student1 और student2 — दोनों एक ही Student Class से बने होते हुए भी अपना-अपना अलग data रखते हैं।
Beginners की Common Mistakes
Python में technically कोई रोक नहीं है, लेकिन Convention के अनुसार Class के नाम की शुरुआत हमेशा Capital Letter से की जाती है (जैसे Student, Car) ताकि इसे normal variables से आसानी से पहचाना जा सके।
Class एक design है, जबकि Object उस design से बनी असली चीज़ है। Student खुद कोई student नहीं है — Student() से बना student1 ही असली student को represent करता है।
Exercise ?
एक ही Class से कितने Objects बनाए जा सकते हैं?
Mini Coding Challenge
अब खुद अपने VS Code या Online Python Editor में यह challenge solve कीजिए:
- एक
Bookनाम की Class बनाइए। - उस Class से दो अलग-अलग objects —
book1औरbook2— बनाइए। - हर object में
titleऔरauthorनाम के attributes अलग-अलग values के साथ जोड़िए। - दोनों books की जानकारी को
print()से एक साथ दिखाइए। type(book1)औरtype(book2)print करके confirm कीजिए कि दोनोंBookClass के ही objects हैं।
Quick Revision
| Concept | Syntax / Example |
|---|---|
| Class Define करना | class ClassName: pass |
| Object बनाना | obj = ClassName() |
| Object में Data जोड़ना | obj.attribute = value |
| Data Access करना | obj.attribute |
| Object का Type Check करना | type(obj) |
FAQ
Python में Class क्या है?
Class किसी चीज़ का एक design या blueprint है, जो यह बताता है कि उस चीज़ के पास कैसी जानकारी हो सकती है। यह खुद कोई असली चीज़ नहीं होती।
Python में Object क्या है?
Object किसी Class से बनी एक असली चीज़ है, जिसके पास अपना खुद का data होता है।
Class और Object में मुख्य फर्क क्या है?
Class एक design/blueprint है, जबकि Object उस design से बनी एक असली, concrete चीज़ है। एक Class से कई objects बनाए जा सकते हैं।
क्या एक Class से एक से ज्यादा Objects बना सकते हैं?
हाँ। एक ही Class से जितने चाहें उतने objects बनाए जा सकते हैं, और हर object का अपना अलग data हो सकता है।
Object में Data कैसे जोड़ते हैं?
इस lesson में हमने object में directly object.attribute = value लिखकर data जोड़ा। इसे properly करने का structured तरीका — __init__ और Constructor के साथ — अगले lesson में सिखाया जाएगा।
Summary
Class = Design/Blueprint, Object = उस Design से बनी असली चीज़।
इस lesson में आपने सीखा कि Class और Object क्या होते हैं, दोनों में क्या फर्क है, Class को blueprint की तरह कैसे समझें, एक Class से Object कैसे बनाएं, एक ही Class से multiple objects कैसे बनाएं, और अलग-अलग objects में अलग-अलग data कैसे रखें।
यह Python OOP की नींव है। अगले lesson में हम सीखेंगे कि __init__ और Constructor की मदद से किसी object को जन्म के समय ही जरूरी जानकारी कैसे दी जाती है। अब ऊपर दिया गया mini coding challenge खुद VS Code या Online Editor में solve करें।

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें