python使用super()出現(xiàn)錯誤解決辦法
python使用super()出現(xiàn)錯誤解決辦法
當我們在python的子類中調(diào)用父類的方法時,會用到super(),不過我遇到了一個問題,順便記錄一下。
比如,我寫了如下錯誤代碼:
class A(): def dosomething(self): print "It's A" class B(A): def dosomething(self): super(B, self).dosomething() if __name__ == '__main__': b = B() b.dosomething()
輸出報錯:
TypeError: must be type, not classobj
google之后發(fā)現(xiàn),python在2.2前后有新式類(new-style class)與舊式類(old-style class)的區(qū)別,我上面的例子為舊式類,而super關鍵字必須作用于新式類。
新式類:所有類都必須要有繼承的類,如果什么都不想繼承,就繼承到object類。
所以,解決此錯誤必須將A類改為class A(object):
以上就是python super()使用遇到問題的解決辦法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
pycharm不以pytest方式運行,想要切換回普通模式運行的操作
這篇文章主要介紹了pycharm不以pytest方式運行,想要切換回普通模式運行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Python?IDLE?Subprocess?Connection?Error的簡單解決方法
最近用要Python處理一點事,就打開Python IDLE,結果出現(xiàn)錯誤,下面這篇文章主要給大家介紹了關于Python?IDLE?Subprocess?Connection?Error的簡單解決方法,需要的朋友可以參考下2023-01-01python如何獲得list或numpy數(shù)組中最大元素對應的索引
這篇文章主要介紹了python如何獲得list或numpy數(shù)組中最大元素對應的索引,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11Python原始字符串與Unicode字符串操作符用法實例分析
這篇文章主要介紹了Python原始字符串與Unicode字符串操作符用法,結合實例形式分析了Python針對原始字符與Unicode字符的操作符用法,需要的朋友可以參考下2017-07-07詳解Python 序列化Serialize 和 反序列化Deserialize
這篇文章主要介紹了詳解Python 序列化Serialize 和 反序列化Deserialize的相關資料,序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結合起來,可以輕松地存儲和傳輸數(shù)據(jù),需要的朋友可以參考下2017-08-08