class baseClass():
def __init__(self,mark,name):
self.mark = mark
self.name = name
class derivedClass(baseClass):
b1 = derivedClass(name='Jibin')
print b1.name
這是我的代碼最初&它工作正常。派生類的python構造函數
(注:我沒有獲得baseClass
)
但後來我不得不一個附加屬性rank
傳遞給derivedClass
。所以我編輯這樣的代碼。
class baseClass():
def __init__(self,mark,name):
self.mark = mark
self.name = name
class derivedClass(baseClass):
def __init__(self,rank):
self.rank = rank
b1 = derivedClass(name='Jibin')
print b1.name
這導致此預期爲derivedClass
的__init__
沒有一個說法name
錯誤__init__() got an unexpected keyword argument 'name'
。
我不想一個額外的參數name
在現實baseClass
增加的derivedClass
b'cos __init__
有十個參數,而不是2(標誌,名稱)&如果我給他們都作爲附加參數derivedClass
我會凌亂其參數列表。
注:我知道初始化基類的使用baseClass.__init__(self)
或super(derivedClass, self).__init__()
你的代碼寫得很糟糕。在提交之前,請驗證匿名代碼仍然有效**。 –
[PEP 8](http://www.python.org/dev/peps/pep-0008/)希望您將'baseClass'重命名爲'BaseClass','derivedClass'重命名爲'DerivedClass',並在後面放置空格方法聲明參數中的逗號。 –
目前,派生類與您的基類沒有任何關係。你爲什麼不使用新式課程? – newtover