位置: 编程技术 - 正文

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

  • 小规模企业所得税多少
  • 利润表中的所得税费用怎么填
  • 进项税额记哪方
  • 零申报资产总计不能为零
  • 税务申报有什么技巧
  • 机票发票打印有效期多久
  • 工业企业员工工资占收入比例
  • 填写三季度预缴所得税申报表应关注哪些事项
  • 哪些收入减免所得税
  • 退休人员怎么缴纳城镇居民医保
  • 电商刷单返现如何做账务处理合适?
  • 车辆保险赔款怎么入账
  • 外购材料费用可能计入
  • 年底员工借款如何处理
  • 企业计提固定资产折旧
  • 出售二手车税率3%减按2%征收的政策
  • 哪些税计入原材料费用
  • 信息服务费发票范围
  • 清算期间企业所得税申报期限
  • 免税进口种子要符合哪些条件?
  • 差额纳税和全额纳税
  • 预存电费余额是什么意思
  • Mac怎么更改锁屏密码
  • 接受捐赠收入要计入销售收入吗
  • PHP:xml_set_processing_instruction_handler()的用法_XML解析器函数
  • 来料加工方式中,料件和加工后
  • php fwrite函数
  • 提取企业发展基金分录比例
  • uniapp引入bootstrap
  • 作废的发票对方钱能打出来吗
  • 特许权使用费啥意思
  • yii框架安装
  • 中药饮片适用增值税税率
  • 商业预付卡可以报销吗
  • 2023年我要实现的目标是
  • XF86Setup命令 设置XFee86
  • code .命令
  • 耕地占用税如何计算
  • 非定额备用金的使用范围
  • sql server 2008数据库没有备份文件恢复
  • sqlserver2005使用
  • 清算机构收单机构和发卡行
  • mysql存储过程查看权限
  • 个人劳务费免增值税吗
  • 法人股的利弊
  • 钢管租赁怎么算的
  • 内账需要哪些单据
  • 购买固定资产记账
  • 用美元账户余额怎么用
  • 损益类科目结转本年利润方向
  • 新会计制度下五类是什么
  • 建筑公司劳务费怎么做账
  • 捐赠支出表怎么填
  • sql语句中单引号怎么打
  • sqlserver的case 用法
  • window怎么操作
  • win7的运行命令在哪里
  • win8怎样关闭系统更新
  • win8驱动在哪个文件夹
  • SUSE Linux Enterprise Server 11 SP1 安装教程图文详解
  • linux网络接口配置命令
  • 省去911元 教你如何将Win10家庭版改造成专业版
  • win7的命令对话框在哪里
  • js瀑布流效果代码
  • veth pair源码
  • 微信小程序实现查询功能
  • js的文件操作
  • python 堆叠
  • bitmap压缩到指定尺寸
  • unity 静态函数
  • unity 加载界面
  • jquery unload
  • python中元祖的用法
  • jquery有自定义选择器吗
  • js如何判断输入输出
  • 重庆国家电子税务总局怎样开电子税票
  • 矿产资源税的计税依据
  • 什么叫以物易物
  • 世界银行各国经济gdp动态
  • 珠宝消费税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设