扣丁学堂浅谈Python编程中NotImplementedError的使用方法

2018-07-04 14:08:02

2559浏览

本篇文章扣丁学堂

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

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在线学习小编给大家分享的Python编程中NotImplementedError的使用方法,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂是专业的Python培训机构,不仅有专业的老师和与时俱进的课程体系,还有大量的Python在线视频供学员观看学习哦。扣丁学堂Python技术交流群:279521237。

【关注微信公众号获取更多学习资料】

标签:

扣丁学堂Python培训

Python编程中NotImplementedError的使用方法

Python培训

Python视频教程

Python基础教程

python安装教程

Python核心编程

Python在线教程

Python在线视频

Python在线学习

python程序调用写好的代码_扣丁学堂浅谈Python编程中NotImplementedError的使用方法...相关推荐

  1. python代码优化指南_扣丁学堂Python视频教程之Pandas初学者代码优化指南

    扣丁学堂Python视频教程之Pandas初学者代码优化指南 2018-02-05 10:44:24 1320浏览 今天扣丁学堂给大家介绍一下关于Python视频教程之Pandas详解,首先Panda ...

  2. python面试题网站有哪些_扣丁学堂解析Python爬虫工程师面试题汇总

    扣丁学堂解析Python爬虫工程师面试题汇总 2018-08-20 11:24:39 1664浏览 今天,扣丁学堂的小编来给大家总结一下Python爬虫的面试技巧,希望给参加Python培训的同学一点 ...

  3. python socket编程之双方相互通信简单实例_扣丁学堂Python开发socket实现简单通信功能实例...

    扣丁学堂Python开发socket实现简单通信功能实例 2018-08-21 14:12:38 747浏览 今天扣丁学堂Python培训老师给大家结合实例介绍一下关于socket实现的简单通信功能, ...

  4. python如何离线安装第三方模块_扣丁学堂python开发之第三方模块pip离线安装

    扣丁学堂python开发之第三方模块pip离线安装 2018-08-14 14:02:22 747浏览 最近很多参加Python培训的同学说在学习过程中需要安装一些第三方的模块,今天小编就来给大家讲一 ...

  5. python调用函数指定次数_扣丁学堂Python在线视频之Python限制函数调用次数实例

    扣丁学堂Python在线视频之Python限制函数调用次数实例 2018-07-06 14:56:43 859浏览 本篇文章扣丁学堂 博客中指定的是缓存,我这里换成限制访问次数,异曲同工: #newt ...

  6. python装饰器特性iy雾_扣丁学堂简述Python 装饰器装饰类中的方法

    扣丁学堂简述 Python 装饰器装饰类中的方法 本篇文章小编主要和读者们分享一下 Python 装饰器装饰类中的方法, 文中会有详细的代码 列出供大家参考,下面随小编一起来了解一下吧. 有一个类 T ...

  7. python内建函数有哪些_享学课堂浅谈Python序列内建函数都有哪些

    python的内建函数和库函数的区别是什么?人在得不到的时候,什么都可以不介意.得到之后,什么都有点介意. python.什么是内建函数? python.什么是内建函数?新手小白自学python.不懂 ...

  8. python的excell库_扣丁学堂Python基础教程之Excel处理库openpyxl详解

    扣丁学堂Python基础教程之Excel处理库openpyxl详解 2018-05-04 09:49:49 3197浏览 openpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pipi ...

  9. python 技巧视频教程_扣丁学堂Python视频教程之Python开发技巧

    扣丁学堂Python视频教程之Python开发技巧 2018-07-25 14:09:44 808浏览 关于Python开发的技巧小编在上篇文章已经给大家分享过一些,本篇文章扣丁学堂 神秘eval: ...

最新文章

  1. CentOS中Jenkins的下载、安装、配置与启动(图文教程)
  2. 利用多线程实现linux下C语言的聊天室程序:
  3. 16进制字符串转化为10进制数
  4. 【牛客 - 303D第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Campaign(二进制枚举,位运算,暴力,思维)
  5. IOS开发笔记(1)---Hello World
  6. STM8学习笔记----PWM单脉冲模式输出
  7. 粤港澳大湾区落地首家技术VC,创新工场25亿加持,做投资也做AI研发
  8. 蓝桥杯 ADV-117 算法提高 进制转换
  9. leetcode之删除排序数组中的重复项
  10. MySQL把性别编码转换成名字_两种转换mysql数据编码的方法
  11. GB2312字符集对应16进制ANSI、UNICODE、UTF-8编码 (5)
  12. AAM和CCM学习笔记
  13. 显示器会影响电脑的显示效果么
  14. 第二章 视觉特性和彩色电视信号
  15. group_concat函数详解
  16. 电脑桌面图标异常 计算机只显示C盘,电脑只有一个C盘怎么办?一招教你正确分区!...
  17. PHP-企业微信二次开发-接收用户输入消息内容并响应相关业务逻辑
  18. 【转】示波器选型基础方案_Detective_ALong_新浪博客
  19. 数学难度越来越大,初二补习数学有必要吗?
  20. GSEA load files errors

热门文章

  1. 用传递函数求电路的频率特性
  2. 【爆肝更新】Python基础教程:第五章_Python函数
  3. AIX创建激活删除LV
  4. 最新《四脚猫高级PHP培训课程》
  5. 从零开始人脸识别:face-recognition库
  6. 上海计算机应用能力大赛获奖作品,_上海市大学生计算机应用能力大赛2009年参赛作品集锦.pdf...
  7. 如何判断素数(C++版)
  8. 数据名称:中国家庭追踪调查(CFPS)数据区县码数据描述:162个区县代码,适用于10-20年份,可匹配约85-90%的样本。可依次匹配coutyid-区县行政码code-地级市行政码city-省份
  9. java转型产品经理好转吗,转型成为中后台产品经理,其实不那么难
  10. php配置教程ecstore,Ecstore伪静态配置