中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python編程中NotImplementedError的使用方法

發布時間:2020-10-23 18:12:25 來源:腳本之家 閱讀:265 作者:jingxian 欄目:開發技術

Python編程中raise可以實現報出錯誤的功能,而報錯的條件可以由程序員自己去定制。在面向對象編程中,可以先預留一個方法接口不實現,在其子類中實現。

如果要求其子類一定要實現,不實現的時候會導致問題,那么采用raise的方式就很好。

而此時產生的問題分類是NotImplementedError。

寫一段代碼如下:

class ClassDemo:
    def test_demo(self):
           raiseNotImplementedError("my test: not implemented!")
 
classChildClass(ClassDemo):
    pass
 
inst =ChildClass()
inst.test_demo()

程序運行結果:

E:\01_workspace\02_programme_language\03_python\OOP\2017\08\10>pythonerror_demo.py
Traceback (mostrecent call last):
 File "error_demo.py", line 9, in<module>
  inst.test_demo()
 File "error_demo.py", line 3, intest_demo
  raise NotImplementedError("my test:not implemented!")
NotImplementedError:my test: not implemented!

從上面的運行結果可以看出,程序識別到了這個方法并沒有在子類中實現卻被調用了。

從代碼報錯的行數來看,只有這個子類的實例化對象調用相應的方法的時候才會報錯。

這樣的推測結論也很容易通過代碼修改測試得到驗證,此處不再驗證。

進一步修改代碼:

class ClassDemo:
    def test_demo(self):
           raiseNotImplementedError("my test: not implemented!")
 
classChildClass(ClassDemo):
    def test_demo(self):
       print("OKOKOOK!")
 
inst =ChildClass()
inst.test_demo()

在新的代碼中,子類中實現了對test_demo方法的設計。

程序的運行結果如下:

E:\01_workspace\02_programme_language\03_python\OOP\2017\08\10>pythonerror_demo.py
OKOKOOK!

從程序的執行結果可以看出,只要相應的方法接口進行了實現,在執行的時候未實施的錯誤便不會報出。

以上這篇Python編程中NotImplementedError的使用方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长沙市| 黄梅县| 女性| 长宁县| 利津县| 吉安市| 崇明县| 梨树县| 南华县| 民县| 东宁县| 仲巴县| 新安县| 房山区| 平远县| 淳化县| 平凉市| 临安市| 大厂| 清水县| 陆良县| 沧州市| 太康县| 广东省| 泸西县| 祁东县| 泸定县| 富宁县| 卫辉市| 开化县| 佛教| 华池县| 佛山市| 尼勒克县| 德钦县| 盐池县| 开封市| 秀山| 宁远县| 汉阴县| 余干县|