निम्न कोड चलाते समय मैं एक त्रुटि हो रही है में त्रुटि "यह निर्माता कोई तर्क लेता है"?__init__
__init__
उत्तर
विधि __init__
नाम दिया जाना चाहिए एक निर्माता, नहीं _init_
किया जाना है। (डबल अंडरस्कोर नोट करें।)
यदि आप एकल अंडरस्कोर का उपयोग करते हैं, तो आप केवल _init_
नामक एक विधि बनाते हैं, और एक डिफ़ॉल्ट कन्स्ट्रक्टर प्राप्त करते हैं, जिसमें कोई तर्क नहीं होता है।
__init__
के लिए डबल अंडरस्कोर का उपयोग करें।
class Person:
def __init__(self, name):
(अजगर के सभी special methods शुरू करते हैं और, डबल एकल नहीं, रेखांकित के साथ समाप्त।)
[यहां] (http://stackoverflow.com/a/3443428/1322401) नामकरण करके एक ही गलती में गिर गया पाइथन का डबल अंडरस्कोर का उपयोग कैसे हुआ। –
class Robots:
def __init__(self,subject): #add double underscores,on both sides.
सुझाव अजगर तरीकों का एक स्पष्ट अंतर्दृष्टि के साथ के लिए में इस documentation देखने
यह उत्तर कोई नई जानकारी नहीं जोड़ता है, और कोड में 2 वाक्यविन्यास त्रुटियां हैं (और बहुत गैर-मानक इंडेंटेशन)। –
- 1. __init__
- 2. वर्ग __init__ (नहीं उदाहरण __init__)
- 3. __init__.py
- 4. पायथन: __init__
- 5. मैं __init__
- 6. __init__.py
- 7. __init__.py
- 8. कई __init__ तर्क
- 9. __init__ और पायथन
- 10. पायथन जांच __init__ पैरामीटर
- 11. __init__ या __call__?
- 12. पायथन कक्षाएं और __init__ विधि
- 13. तर्क पर पायथन __init__ setattr?
- 14. खाली __init__.py फ़ाइल कैसे सही है?
- 15. पाइथन खराब में verbose __init__ विधियां हैं?
- 16. django मॉडल बनाने के उपयोग पर __init__?
- 17. मॉक पैच कक्षा के साथ __init__.py
- 18. __init__ से __setattr__ को कॉल कैसे संभालें?
- 19. अधिभावी __new__ और अजगर में __init__
- 20. क्या अजगर में __init__ विधि वापसी
- 21. अजगर (और अजगर सी एपीआई): __new__ बनाम __init__
- 22. पायथन में __init__ से मूल्य कैसे वापस करें?
- 23. मैं कैसे अच्छा/सही पैकेज __init__.py फ़ाइलें लिखने करना
- 24. मैं __init__.py फाइलों में पाइथन कोड क्यों डालूंगा
- 25. क्यों Django परियोजना में __init__ मॉड्यूल लोड है दो बार
- 26. पाइथन में बंदर पैच __init__ मॉड्यूल कैसे करें?
- 27. Metaclass के "__call__" और उत्पाद श्रेणी के "__init__"
- 28. python वर्ग चर __init__ में दिखाई नहीं दे रहा है?
- 29. क्यों पॉलींट ने __init__ के बारे में चेतावनी दी है?
- 30. पायथन में एक पैकेज का एपीआई। __init__.py में?
जवाब ने बताया कि '__init__' डबल अंडरस्कोर का उपयोग करता है। लेकिन आपको त्रुटि संदेश प्राप्त करने का कारण यह है कि डिफ़ॉल्ट रूप से आपकी कक्षा को 'ऑब्जेक्ट' से विरासत में खाली '__init __ (स्वयं) विधि के साथ आपूर्ति की जाती है। चूंकि आपने उस विधि को ओवरराइड नहीं किया है, यह वह था जिसे बुलाया गया था। –
टाइपोज़ के समान मामले पर (इस मामले में दो के बजाय एक एकल अंडरस्कोर) मैं विधि '__ini__' – Salam