मैं एडाप्टर खोजने के लिए एक प्रोग्राम लिख रहा हूं, और 'एडाप्टर' नामक एक कक्षा बनाई है। जब मैं दो तर्कों में प्रवेश करता हूं IDLE मुझे एक त्रुटि देता है कि मैं तीन में पास हुआ! यहाँ कोड और स्टैक ट्रेस है:पायथन: __init __() वास्तव में 2 तर्क लेता है (3 दिया गया)
#This is the adapter class for the adapter finder script
class Adapter:
side1 = (None,None)
side2 = (None,None)
'''The class that holds both sides of the adapter'''
def __init__((pType1,pMF1),(pType2,pMF2)):
'''Initiate the adapter.
Keyword Arguments:
pType1 -- The passed type of one side of the adapter. ex: BNC, RCA
pMF1 -- The passed gender of pType1. ex: m, f
pType2 -- The passed type of one side of the adapter. ex: BNC, RCA
pMF2 -- The passed gender of pType2. ex: m, f
'''
print 'assigining now'
side1 = (pType1,pMF1)
print side1
side2 = (pType2,pMF2)
print side2
sideX = ('rca','m')
sideY = ('bnc','f')
x = Adapter(sideX,sideY)
print x.side1
print x.side2
त्रुटि: Traceback (most recent call last): File "C:\Users\Cody\Documents\Code\Python\Adapter Finder\adapter.py", line 28, in <module> x = Adapter(sideX,sideY) TypeError: __init__() takes exactly 2 arguments (3 given)
मुझे समझ नहीं आता कि समस्या क्या है, क्योंकि मैं केवल दो आर्ग द्वारा दर्ज किए गए है!
संपादित करें: मैं अजगर भाषा में नया हूं, हालांकि मुझे जावा पता है। मैं एक ट्यूटोरियल के रूप में इस पेज का उपयोग कर रहा: http://docs.python.org/tutorial/classes.html
'__init__' की आपकी परिभाषा रास्ता है, गलत है। आप किस ट्यूटोरियल का उपयोग कर रहे हैं? तुमने ऐसा क्यों लिखा? आपने 'स्वयं' चर क्यों छोड़ा? कृपया उस ट्यूटोरियल का नाम या लिंक शामिल करें जिसका आप उपयोग कर रहे हैं। –
आपकी तर्क सूची में टुपल अभिव्यक्तियों का उपयोग बहुत गैर-मूर्खतापूर्ण पायथन है और कई लोगों को भ्रमित करेगा। मेरा सुझाव है कि आप ऐसा नहीं करते हैं, खासकर जब से आप उन्हें किसी और चीज के रूप में एक टुपल के रूप में असाइन करते हैं। कृपया बहुत अजीब लेकिन अजीब तरह से काम करने वाले पायथन संरचनाओं का उपयोग न करें जब तक कि आपके पास वास्तव में शानदार कारण नहीं है। – Omnifarious
अलग-अलग लोग अलग-अलग तरीकों से सीखते हैं, आप divesintththon.org को docs.python.org – msw