位置: 编程技术 - 正文

Python中Class类用法实例分析(python class类型)

编辑:rootadmin

推荐整理分享Python中Class类用法实例分析(python class类型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python__class__,python classs,python中class的作用,python__class__,python class类型,python class类里面直接运行代码,python class类里面直接运行代码,python__class__,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Python中Class类用法。分享给大家供大家参考,具体如下:

尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一门OO语言哦。因此我们关注Python在FP上的优势的同时,还得了解一下Python在OO方面的特性。

要讨论Python的OO特性,了解Python中的Class自然是首当其冲了。在Python中定义class和创建对象实例都很简单,具体代码如下:

运行效果如下:

Python支持多重继承

首先第一点,你会发现Class的定义中有一个括号,这是体现继承的地方。 Java用extends,C#、C++用冒号(:),Python则用括号了。从括号中包含着两个值,聪明的你一定可以发现:Python支持多重继承;

__init__是Class中的构造函数

Python中Class类用法实例分析(python class类型)

第二点,__init__是Class中的构造函数,两种不同形式的构造函数体现了Python支持函数重载。在构造函数中,有一个特别的参数self,其含义与我们在Java和C#中常见的this是一样的。在这里需要强调一点:在Class中定义的方法实质上也是function,但是在方法定义的时候必须包含self这个参数,而且必须将self这个参数放在第一位;

python成员变量

第三点,在Python中,你并不需要显式的声明Class的Data Members,而是在赋值的时候,被赋值的变量就相应成为了Class的Data Memebers,正如代码中的x和y。不仅你不需要显式的声明Data Members,更加特别的,你甚至可以通过del方法将Class中的Data Memebers给删掉。当我第一次看到这样的特性的时候,着实吃了一惊。毕竟OO的第一条就是封装了,但是这样的特性是不是破坏了封装的特性呢?

python方法二义性问题

第四点,由于Python支持多重继承,因此就有可能出现方法二义性问题[1]。然而由于Python遵循深度优先的搜寻法则,很好地避免了方法二义性的问题。例如在以上的代码中,MyClass同时继承于BaseClassA和BaseClassB,假设MyClass调用一个叫derivedMethod方法,derivedMethod同时定义在BaseClassA和BaseClassB中,且Signature也完全相同,那么BaseClassA中的方法将被调用。如果BaseClassA中并没有定义derivedMethod,而是BaseClassA的父类定义了这个方法的话,将会是BaseClassA的父类中derivedMethod被调用。总之,继承方法搜索的路径是先从左到右,在选定了一个BaseClass之后,将会一直沿着该BaseClass的继承结构进行搜索,直至最顶端,然后再到另外一个一个BaseClass。

就先说着这么多了,对于Python中OO的特性将会在以后的Post中有进一步的讲述。

方法二义性:由于一个类同时继承于两个或者多个父类,而在这些父类当中存在着signature完全相同的方法,那么编译器将无法判断子类将继承哪个父类中的方法,从而导致方法二义性问题。

希望本文所述对大家Python程序设计有所帮助。

python开发中module模块用法实例分析 本文实例讲述了python开发中module模块用法。分享给大家供大家参考,具体如下:在python中,我们可以把一些功能模块化,就有一点类似于java中,把一些

python开发中range()函数用法实例分析 本文实例讲述了python开发中range()函数用法。分享给大家供大家参考,具体如下:python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下

python开发之文件操作用法实例 本文实例讲述了python开发之文件操作用法。分享给大家供大家参考,具体如下:先来看看官方API:os-Miscellaneousoperatingsysteminterfaces下面是我做的demo:impor

标签: python class类型

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

上一篇:python开发之函数定义实例分析(python函数经典例程)

下一篇:python开发中module模块用法实例分析(python module import)

  • 申请A级纳税企业需具备哪些条件
  • 业务招待费的税金可以抵扣吗
  • 审核记账对账结果怎么写
  • 代开运输发票会不会造成重复征税
  • 售后维护费账务处理
  • 一般纳税人条件要求2020
  • 增值税纳税申报表附列资料(三)
  • 公司抬头的发票
  • 单位边际贡献和边际贡献一样吗
  • 开票软件找不到已开发票
  • 银行存款支付现金股利属于什么科目
  • 软件企业享受税收优惠
  • 商业承兑汇票有风险吗
  • 行政单位办公室主任必须是党员吗
  • 企业销售现金折扣
  • 凭证工本费的账务处理
  • 开租金发票可以提前开的吗?
  • 纳税人涉税信息查询
  • 易票365怎么认证发票
  • 免抵税额为什么不能抵下期
  • 纳税人必须关注的10个涉税风险点
  • 积分兑换现金的软件
  • 职工福利费进项税转出怎样做账务处理
  • 先开票还是先预约
  • 注册资本与利息的税前扣除
  • 出口退税申报时间限制
  • 员工两处取得工资收入
  • 纳税人办理退税手续流程
  • 进口设备和备件有哪些
  • 文件被占用无法删除
  • 销售费用中业务费包括哪些
  • 金融商品转让业务包括
  • 社会保险费征缴暂行条例是谁制定
  • 转入固定资产清理会计科目
  • 资产负债表的编制方法
  • 弃置费用预计负债递延所得税怎么处理
  • 员工多交的个人社保
  • php互换两个变量的关系
  • 2022年电子设计大赛F题
  • deformable detr代码
  • 管家婆软件如何做账
  • 如果已经结帐,发现凭证有误,应该如何处理
  • 销售产品用什么词形容
  • php去掉最后一个逗号
  • 第9章 内存模型分析
  • 固定资产折旧费计入成本吗
  • 电脑填制记账凭证合计数前的符号怎么输入
  • 基金管理公司是什么意思
  • 管理费用冲减其他应付款分录
  • 扣缴境外公司增值税
  • 应付账款抹零摘要怎么写
  • 租赁合同印花税怎么算
  • 金融资产或金融负债初始入账价值
  • 农行网银只有一张卡吗
  • 销售会员卡怎么开票
  • sql有没有返回上一步
  • win10预览版21277
  • vista安装图解
  • 不同的linux系统命令一样吗
  • linux 下VSFTP 530 Permission denied错误的解决方法
  • 永恒之塔客户端是32位
  • sendmail -t
  • win7系统怎样
  • 如何配置centos7的ip地址
  • nodejs中art-template模板语法的引入及冲突解决方案
  • opengl纹理叠加
  • 教女朋友学英语
  • 安卓api中文手册
  • javascript核心技术
  • 常用python编程软件
  • unity怎么删除导入的包
  • javascript基础笔记
  • jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
  • js实现@功能
  • python如何批量造数据
  • javascript位置属性
  • Javascript removeChild()删除节点及删除子节点的方法
  • 土地增值税税率表
  • 怎样在中国税务用手机交社保
  • 开普票需要提供合同吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设