位置: 编程技术 - 正文

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)

  • 汇算清缴加计扣除表
  • 工会经费个人绩效计入缴费基数吗
  • 公司不营业需要做年报吗
  • 在分公司签的合同能转到总公司吗
  • 没有车加油费可以入账吗
  • 通用机打发票能作废吗
  • 注销税务注意事项
  • 股东购买固定资产能算实收资本么
  • 土地出让金计算方法
  • 填写银行结算凭证的有关印鉴,应集中由谁保管
  • 在建工程转固定资产凭证附件
  • 买一手房需要交哪些税费
  • 汇算清缴调增税金及附加
  • 预交增值税附加税费减免吗
  • 企业如何认定
  • 解聘职工赔偿工资包括哪些
  • 收购不良资产收益怎么算
  • 工程公司安装中央空调能按混合销售计算增值税么?
  • 小微企业免征增值税条件
  • 从业人数如何计算
  • 企业的应收账款周转率越大,说明发生坏账
  • 工会职工活动支出标准
  • 金融会计风险及防范措施研究目的和意义
  • 库存商品适用于什么账簿
  • world超链接
  • Win11不支持鼠标宏
  • windows10如何关闭病毒和威胁防护设置
  • 华为p50新款
  • win7为什么现在不能用了
  • 制作flash动画步骤
  • 成本核算怎么核算
  • 个人开工程款票在哪开票
  • PHP:pg_field_type()的用法_PostgreSQL函数
  • 计提减值时注意什么
  • 常见的财务报表分析方法有多选题
  • 行政单位捐赠收入需要上缴财政吗
  • 我国中小企业成本管理现状
  • 何为前端后端
  • 多域名指向同一ip有问题吗
  • 个人独资企业法律责任
  • 低代码开发开源
  • IndexError: invalid index of a 0-dim tensor. Use `tensor.item()` in Python
  • arptables命令详解
  • php面试题目100及最佳答案
  • 若依idea
  • 银行本票和汇票的定义
  • 安装centos7.2
  • 个人所得税数据怎么导入新电脑
  • 股权转让过程中的税费
  • 利润表中本期金额是什么意思
  • sqlserver2008数据库定时备份
  • 税金及附加的科目核算有哪些
  • 税是什么为什么要交税
  • 装修专票是几个点
  • 库存商品总分类账范本
  • 利润表的税金及附加怎么得出来
  • 帮别人注册医疗器械法人有风险吗
  • 待处理财产损益期末结转到哪里
  • 半个固定资产如何折旧
  • 销售毛利率越高越好吗
  • sql server 2012 数据库bak脚本还原
  • android7应用程序开发教程
  • windows7窗口拖到屏幕顶端
  • win10桌面版微信连不上网
  • 演示模式怎么设置
  • pptd40nt.exe是什么进程 有什么用 pptd40nt进程查询
  • Win10系统无法启动,如何修复
  • system的方法
  • python生成密钥
  • unity3d游戏引擎支持几种平台发布?
  • js操作dom节点的方法
  • linux中tar
  • js全选和全不选效果复选框
  • js中调用java
  • shell命令怎么用
  • 国家税务总局,河北省税务局
  • 国税地税征管体制改革方案全文
  • 上海小规模纳税人企业所得税
  • 怀化市税务局领导
  • 广州代理记账公司地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设