位置: 编程技术 - 正文

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

  • 预收账款什么时候确认收入
  • 月初领票后还能作废申报吗
  • 子公司分红母公司缴税吗
  • 公司兼职的工资怎么发
  • 已付款收不到发票怎么办
  • 货拉拉电子货票收款凭证是发票吗
  • 经营租入的固定资产是资产吗
  • 全年累积盈利交所得税吗?
  • 负债减少在什么方
  • 利润的计算方法数学
  • 增值税专用发票怎么开
  • 没有签订合同需要交税吗
  • 工会经费2020年免征
  • 产品质量认证的基本条件有哪些
  • 个体户季度超30万要交多少税
  • 非房地产开发企业土地增值税扣除项目
  • 增值税一般纳税人与小规模纳税人的区别
  • 城市维护建设税属于什么税种
  • 员工租赁宿舍开几个点发票
  • macxi
  • 外贸公司要计提什么费用
  • 在win7系统中,添加打印机驱动程序
  • 租金收入缴纳个税
  • 车站计算机系统组成
  • 失控发票的企业怎么处理
  • 电脑右下角总是弹出广告
  • 单位话费谁负责交
  • 期间损益结转都结转什么
  • 园林绿化工程公司简介范文
  • zend framework手册
  • laravel5.4生成验证码的代码
  • 常用的3个第三方类库
  • stable diffusion webul
  • vue带参数跳转到详情页面
  • php面向对象编程实验总结
  • 赫尔辛基哈加赫利亚大学
  • 经验模态分解和变分模态分解
  • vscode nasm
  • php实现的http请求封装示例
  • 帝国cms如何使用
  • 出差费用包干制还需要报销吗
  • 制造费用转入什么
  • 电竞公司要求
  • 产品淘汰造成的影响
  • 十个提高情商的方法
  • 收到汇算清缴退回的税款如何做账
  • 供应商货款支付流程
  • 港币转人民币差多少钱
  • 纸质承兑汇票怎么兑现步骤
  • 纳税人仅能通过手动查找
  • 股权支付费用是什么意思
  • 原始凭证按什么分
  • 成本结转的方法实例
  • 企业提取盈余公积的比例
  • 企业应如何降低消费者
  • 机票行程单可以抵扣进项税吗?
  • mssql数据库的账号密码
  • Windows Server AD 访问数量控制配置方法
  • win7系统换桌面
  • windowsxp有密码忘了怎么办
  • win8屏幕键盘快捷键
  • gcf是什么软件的文件
  • win10系统声音怎么打开
  • 在linux中使用v2ray
  • win10预览版好吗
  • linux小技巧
  • win10老是弹提示
  • 微软kudo
  • mongoose怎么用
  • nodejs获取客户端ip地址
  • easyui-accordion
  • javascript创建对象的几种方法
  • js中top/parent/frame概述及案例应用
  • 计算字符串的长度的函数
  • javascript中函数
  • 详解使用Visual Studio Code对Node.js进行断点调试
  • 仿百度首页
  • android studio右边的视图不见了
  • unity游戏换皮教程
  • 烟叶税比例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设