Python Constructor and __init__() Method Explained: A Complete Beginner's Guide
Python Constructor और __init__()
Object-Oriented Programming (OOP) में Object बनाते ही उसे शुरुआती वैल्यूज देना सबसे बुनियादी और जरूरी काम होता है। Python में इस काम को आसान और automatic बनाने के लिए एक special method होता है — __init__(), जिसे सामान्यतः Constructor कहा जाता है।
अगर आपने अभी तक Python Classes & Objects नहीं पढ़ा है, तो पहले उसे पढ़ना जरूरी है क्योंकि __init__() सीधे Class और Object के निर्माण से जुड़ा है। कोड को खुद चलाकर देखने के लिए आप हमारे Online Python Editor & Compiler का इस्तेमाल कर सकते हैं।
__init__() का role, self की भूमिका, parameters पास करना, default values, और real-world examples (Employee, Mobile) को practical नजरिए से समझेंगे।
Constructor क्या है?
Constructor एक विशेष प्रकार का method (function) होता है, जो किसी Class का नया Object (Instance) बनते ही अपने-आप (automatically) execute हो जाता है। इसका मुख्य काम Object के अंदर जरूरी initial data (attributes) को set करना होता है।
सरल भाषा में — Constructor का मतलब है: "जब भी कोई नया Object जन्म लेगा, यह method बिना बुलाए खुद चलेगा और Object की बुनियादी तैयारी पूरी कर देगा।"
Python में __init__() क्या है?
Python में Constructor का काम __init__() method करता है। नाम के आगे और पीछे लगे दो underscores (__) यह दर्शाते हैं कि यह एक special method (Dunder Method) है।
Output:
यहाँ हमने obj.__init__() को manually call नहीं किया। जैसे ही Demo() लिखा गया, यह method खुद-ब-खुद execute हो गया।
self का Basic Role
Python में जब भी आप Class के अंदर methods बनाते हैं, पहला parameter हमेशा self होता है।
selfवर्तमान में बन रहे current object को represent करता है।- जब आप
self.name = nameलिखते हैं, तो Python समझता है कि यह डेटा इसी खास object के अंदर स्टोर करना है। - Object बनाते समय आपको
selfके लिए कोई argument पास नहीं करना होता; Python इसे background में खुद handle करता है।
Without __init__() vs With __init__()
बिना __init__() के ऑब्जेक्ट का डेटा सेट करना लंबा और गलतियों से भरा होता है, जबकि __init__() के साथ यह काम एक ही लाइन में हो जाता है।
यहाँ अगर आप कोई variable सेट करना भूल गए, तो आगे चलकर कोड में AttributeError आ सकता है।
Output:
Parameters और Multiple Objects के साथ __init__()
हम __init__() में parameters pass करके एक ही Class से अलग-अलग data वाले कई objects बना सकते हैं:
Output:
car1 और car2 दोनों एक ही Class से बने हैं, लेकिन self की वजह से दोनों का डेटा पूरी तरह अलग और सुरक्षित रहता है।
Default Values के साथ __init__()
अगर कोई user object बनाते समय किसी argument की value नहीं देता, तो हम default parameter का उपयोग कर सकते हैं:
Output:
Practical Examples: Mobile और Employee
आइए इसे दो real-world उदाहरणों से समझते हैं:
Output:
Output:
Common Beginner Mistakes
__init__() का काम केवल initialization करना होता है, यह कभी कोई custom value return नहीं कर सकता (केवल None return कर सकता है)।
Exercise ?
Python में __init__() method कब execute होता है?
Practical Coding Challenge
अब खुद अपने Online Python Editor में यह challenge पूरा कीजिए:
- एक
BankAccountClass बनाइए जिसमें__init__()methodaccount_holderऔरbalance(default value = 0) ले। - पैसे जमा करने के लिए
deposit(self, amount)method बनाइए जो balance में amount जोड़ दे। - पैसे निकालने के लिए
withdraw(self, amount)method बनाइए, जो तभी पैसे काटे जब balance पर्याप्त हो। - दो अलग-अलग customers के objects बनाकर deposits और withdrawals टेस्ट कीजिए।
Quick Revision
| Term / Concept | मतलब / काम |
|---|---|
| Constructor | Object बनते ही execute होने वाला automatic method |
| __init__() | Python का built-in constructor method |
| self | Current object (instance) का reference |
| self.variable = value | Object के अंदर instance attribute बनाना और वैल्यू सेट करना |
| Default Parameter | Argument न देने पर fallback वैल्यू सेट करना (उदा. role="User") |
| Return Value | __init__() हमेशा None return करता है |
FAQ
Python में Constructor क्या होता है?
Constructor एक special method होता है जो Class का नया Object बनते ही अपने-आप run हो जाता है और Object के data को initialize करता है।
Python में __init__() का क्या काम है?
__init__() Python का constructor है, जिसका काम Object बनते समय उसके attributes (variables) में initial data set करना होता है।
__init__ के आगे और पीछे double underscores क्यों होते हैं?
ये underscores दर्शाते हैं कि यह Python का internal special method (Dunder method) है, जिसे Python खास मौकों पर (जैसे object creation) खुद call करता है।
क्या __init__() में self लिखना जरूरी है?
हाँ, self current instance को refer करता है। इसके बिना Python को यह पता नहीं चलेगा कि data किस object में store करना है।
क्या एक Class में एक से ज्यादा __init__() methods हो सकते हैं?
नहीं, Python method overloading को सीधे support नहीं करता। अगर आप एक से ज्यादा __init__() लिखेंगे, तो Python हमेशा आखिरी वाले को ही मानेगा।
Summary
__init__() = Object बनते ही अपने-आप चलने वाला setup method, जो data को initialize करता है।
इस lesson में आपने सीखा कि Constructor क्या होता है, __init__() कैसे काम करता है, self की क्या भूमिका है, parameters और default values कैसे पास किए जाते हैं, और real-world examples में इसका सही इस्तेमाल कैसे होता है।
अब ऊपर दिया गया BankAccount coding challenge अपने Online Editor में तुरंत solve करके अभ्यास करें।
Related Articles
Python code likho, run karo aur practice karo — directly browser mein.

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