日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python使用super()出現(xiàn)錯(cuò)誤解決辦法

系統(tǒng) 1774 0

python使用super()出現(xiàn)錯(cuò)誤解決辦法

當(dāng)我們?cè)趐ython的子類中調(diào)用父類的方法時(shí),會(huì)用到super(),不過(guò)我遇到了一個(gè)問(wèn)題,順便記錄一下。

比如,我寫了如下錯(cuò)誤代碼:

            
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()


          

輸出報(bào)錯(cuò):

            
TypeError: must be type, not classobj
          

google之后發(fā)現(xiàn),python在2.2前后有新式類(new-style class)與舊式類(old-style class)的區(qū)別,我上面的例子為舊式類,而super關(guān)鍵字必須作用于新式類。

新式類: 所有類都必須要有繼承的類,如果什么都不想繼承,就繼承到object類。

所以,解決此錯(cuò)誤必須將A類改為class A(object):

以上就是python super()使用遇到問(wèn)題的解決辦法,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 乐业县| 太谷县| 新巴尔虎左旗| 保康县| 宝清县| 清远市| 宁南县| 长治市| 乐业县| 尚志市| 庆元县| 桐城市| 苏尼特左旗| 璧山县| 文昌市| 钟山县| 常熟市| 勐海县| 昌吉市| 始兴县| 宣武区| 三江| 加查县| 泗阳县| 横峰县| 错那县| 潼关县| 宜城市| 三台县| 新邵县| 涞水县| 壶关县| 霸州市| 长宁区| 武鸣县| 柳河县| 新绛县| 峨山| 阜宁县| 平邑县| 蒙自县|