位置: 编程技术 - 正文

在Python中定义和使用抽象类的方法(python怎么定义)

编辑:rootadmin

推荐整理分享在Python中定义和使用抽象类的方法(python怎么定义),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简述python语言中定义函数的规则,python中定义和声明,在python中定义函数,在python中定义函数,python定义x,python中定义和声明,在python中怎么定义,python定义pi,内容如对您有帮助,希望把文章链接给更多的朋友!

像java一样python也可以定义一个抽象类。

在讲抽象类之前,先说下抽象方法的实现。

抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法是:

任何从Sheep继承下来的子类必须实现get_size方法。否则就会产生一个错误。但这种实现方法有个缺点。定义的子类只有调用那个方法时才会抛错。这里有个简单方法可以在类被实例化后触发它。使用python提供的abc模块。

这里实例化Sheep类或任意从其继承的子类(未实现get_size)时候都会抛出异常。

因此,通过定义抽象类,可以定义子类的共同method(强制其实现)。

如何使用抽象类

通过ABCMeta元类来创建一个抽象类, 使用abstractmethod装饰器来表明抽象方法

注册具体类

从抽象类注册一个具体的类

子类化实现

可以使用继承抽象类的方法来实现具体类这样可以避免使用register. 但是副作用是可以通过基类找出所有的具体类

在Python中定义和使用抽象类的方法(python怎么定义)

如果使用继承的方式会找出所有的具体类,如果使用register的方式则不会被找出

使用__subclasshook__

使用__subclasshook__后只要具体类定义了与抽象类相同的方法就认为是他的子类

不完整的实现

如果构建不完整的具体类会抛出D不能实例化抽象类和抽象方法

具体类中使用抽象基类

打印结果

可以使用super来重用抽象基类中的罗辑, 但会迫使子类提供覆盖方法.

抽象属性

打印结果,A不能被实例化,因为只有一个抽象的property getter method.

定义抽象的读写属性

打印结果, 定义具体类的property时必须与抽象的abstract property相同。如果只覆盖其中一个将不会工作.

使用装饰器语法来实现读写的抽象属性, 读和写的方法应该相同.

举例讲解Python中metaclass元类的创建与使用 元类是可以让你定义某些类是如何被创建的。从根本上说,赋予你如何创建类的控制权。元类也是一个类,是一个type类。元类一般用于创建类。在执行

Python的Tornado框架实现图片上传及图片大小修改功能 图片的上传上传图片使用了表单提交,下面是html部分,enctype="multipart/form-data"表示不对字节进行编码,上传文件类型时需指定.input标签的type="file"指定上传

Python的Tornado框架实现异步非阻塞访问数据库的示例 tornado即是一个http非阻塞服务器,就要用起来,我们将用到tornado框架,mongodb数据库以及motor(mongodb的异步驱动).来简单实现tornado的非阻塞功能.其他环境支持

标签: python怎么定义

本文链接地址:https://www.jiuchutong.com/biancheng/386995.html 转载请保留说明!

上一篇:Python中functools模块的常用函数解析(python3 functools)

下一篇:举例讲解Python中metaclass元类的创建与使用(python 举例)

  • 缴纳增值税影响损益吗
  • 公司去社保局开什么发票
  • 年报零申报的103怎么填
  • 汇算清缴所得税退税会计分录怎么做
  • 资产负债表存货项目期末余额怎么算
  • 取得高新技术企业证书
  • 转让股权取得的收益是调增还是调减
  • 税前所得税怎么算
  • 中药饮片适用增值税税率
  • 企业案例描述
  • 出口企业免抵增值税
  • 分期消费的实际收益
  • 第一次申领发票可以增额吗?
  • 个人取得经济补偿金个人所得税计算
  • 金蝶k3外购入库单套打设置
  • 其他应收款包括差旅费吗
  • 销售门窗并安装如何缴纳增值税
  • 企业所得税怎么做帐
  • macbook显示隐藏文件
  • 记账凭证的摘要怎么填写
  • 进口的增值税票能抵扣吗
  • 路由器重启以后wifi不见了
  • php如何实现多线程
  • 马蹄莲的养殖方法和注意事项视频
  • 租入经营用房屋的改良支出
  • 浅析论文题目
  • php实现的加密解决方案
  • 写一个php访问数据库并读取数据的脚本
  • ChatGPT会取代你的岗位吗?
  • php读取文件内容的方法和函数
  • 商场售后返租
  • phpcms怎么修改模板风格
  • 对公账户的种类有几种
  • 建筑企业提供建筑服务适用一般计税方法的,以取得
  • mysql null+1
  • rbac权限管理设计
  • 资产处置损益明细表货币资金怎么填
  • 进口消费税为什么不是1乘2
  • 建筑业差额纳税申报
  • 哪些固定资产是按8年折旧的
  • 累计盈余的借方
  • 投资现金流负值表示什么
  • 库存,收入,支出,进货
  • 教育费附加减免性质代码
  • 固定资产计提折旧的原则
  • 公司欲购买一台设备,现在一次性
  • 固定资产汽车折旧年限是多少年
  • 发票开错作废如何处理?
  • 固定资产计提完折旧残值怎么处理
  • 一次摊销法的账务处理
  • 企业自建房屋建设方案
  • 收到上年度企业所得税退税怎么做账
  • 应收其他应收区别
  • 商品流通企业进货费用
  • sqlserver数据库恢复挂起状态
  • mysql声明全局变量
  • reg.exe是什么程序
  • win8打开桌面
  • win10一年更新一次
  • linux如何用
  • win10系统任务栏卡顿
  • ubuntu文本编辑器怎么打开
  • windows启动很慢很慢
  • [置顶] 关于UNITY5.0和高通AR4.2.3在手机上白屏的问题
  • 3d图形计算器
  • js判断手机号
  • jquery动态添加
  • jquery技巧
  • nodejs bff
  • angular2双向数据绑定原理
  • web开发手机app
  • jquery添加删除属性
  • JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
  • 山西省国家税务局王旭斌局长
  • 河南省国家税务局电子税务局
  • 国家税务总局公告2017年第21号
  • 武汉税务局官网查询系统
  • 快递公司开票
  • 河北省职称证去哪里查
  • 南通国资委网站首页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设