位置: 编程技术 - 正文

在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 举例)

  • 初装费包括什么
  • 公司垫付生育津贴凭证
  • 广告制作要交文化部门吗
  • 无租房合同可以取住房公积金吗
  • 增值税申报表与财务报表不一致
  • 运输费计入原材料成本吗
  • 同一控制下企业合并取得的长期股权投资
  • 购买方已认证未抵扣,发票用退回吗
  • 不交住房公积金了能提取出来吗
  • 预付房租的会计科目
  • 补偿金申报个所税如何录入?
  • 建筑材料资源利用
  • 管理费用是进项还是销项
  • 票据行为为什么没有付款
  • 冬虫夏草开票什么税率
  • 农产品流通环节税收优惠政策
  • 土地使用税如何计算缴纳
  • 购买理财产品会损失本金吗
  • 报废固定资产收入计入什么科目
  • 新注册公司第一次怎么报税
  • 政府奖励金额是否要交二次税呢
  • 待处理财产损益计入资产负债表哪里
  • 认证费用计入什么账户
  • 个体工商户做账可以做工资吗
  • 存货清查的账务处理的阐述
  • 企业延期缴纳税款
  • 收到别公司利息怎么记账
  • 漏记的账务怎么处理
  • office已经激活
  • 支付宝付款凭证可以当发票吗
  • 用自产的产品用于生产线
  • 数字证书费用计入管理费用什么科目
  • 补缴增值税滞纳金天数
  • 销售返利计入什么费用
  • Thinkphp 中 distinct 的用法解析
  • 长期待摊费用装修费摊销年限
  • 报表中库存商品怎么填
  • 连带责任担保会被拘留吗
  • 织梦产品详情页相关产品推荐调用代码
  • mssql使用教程
  • 瓶盖再来一次表情包
  • 本期应补退税额为负数怎么申报
  • 多计提的个税能退回给员工吗
  • 公司福利可以发现金吗
  • 普通发票开具的管理是?
  • 存在弃置费用的固定资产由于技术进步
  • 应交税费的账务处理一般纳税人
  • 主办会计与往来会计区别
  • 2018年小规模纳税人
  • 某企业福利部门
  • 国有资产划转实施方案
  • 长期股权投资减值准备
  • 利息保障倍数为0说明什么
  • 增值税发票备注栏最新规定
  • 员工社保,个税怎么计算
  • 成本核算方法有哪几种
  • docker mysql 数据
  • w10桌面
  • 移动u盘的作用
  • win7旗舰系统
  • bios界面uefi
  • win7系统有wifi功能吗
  • ubuntu切换登录用户
  • centos最小化安装步骤
  • win10怎么看电池寿命
  • c#开发linux
  • js math.js
  • shell脚本判断一个字符串是否为空
  • github上有什么
  • unityprefab
  • 编写shell脚本,批量建立用户
  • 批处理系统的进程调度算法
  • 浏览器app测试要点
  • JavaScript SweetAlert插件实现超酷消息警告框
  • 远程调用call
  • ugui粒子ui层级
  • 包装物押金收入含税吗
  • 电子税务局怎么添加开票员
  • 农产品销售个人所得税
  • 江苏发票认证平台app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设