位置: 编程技术 - 正文

浅谈python中的实例方法、类方法和静态方法

编辑:rootadmin

推荐整理分享浅谈python中的实例方法、类方法和静态方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

浅谈python中的实例方法、类方法和静态方法

在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法,self一般是在实例方法中使用,而cls则一般在类方法中使用,在静态方法中则不需要使用一个默认参数。在下面的代码中,InstanceMethod类的方法中,第一个参数是默认的self,在这里可以把self换成任何名字来表示,不会有任何影响。在类调用的时候,需要满足参数的个数要求(参数中含有*args是例外),例如行中,类调用没有参数的时候,会提示错误。同样,实例方法的参数个数也应该满足要求,例如行中也会报错。实例方法的一个主要特点就是需要绑定到一个对象上,python解析器会自动把实例自身传递给方法,如行所示,而直接使用InstanceMethod.f1()调用方法是不行的。

静态方法和类方法都需要使用修饰器,分别使用的是staticmethod和classmethod。静态方法是和类没有关系的,我觉得就是包装在类中的一般方法,如下例子中,调用静态方法使用实例和不使用实例都是可以的。类方法中,默认的第一个参数使用的是cls,类方法也可以不需要实例而直接使用类调用。对于这三种不同的方法,使用方法如下例所示。那么问题来了,既然有了实例方法,类方法和静态方法与之相比又有什么好处呢?

在类方法中,不管是使用实例还是类调用方法,都会把类作为第一个参数传递进来,这个参数就是类本身。如果继承了这个使用类方法的类,该类的所有子类都会拥有了这个方法,并且这个方法会自动指向子类本身,这个特性在工厂函数中是非常有用的。静态方法是和类与实例都没有关系的,完全可以使用一般方法代替,但是使用静态方法可以更好的组织代码,防止代码变大后变得比较混乱。类方法是可以替代静态方法的。静态方法不能在继承中修改。

标签: 浅谈python中的实例方法、类方法和静态方法

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

上一篇:Python之日期与时间处理模块(date和datetime)(python 日期运算)

下一篇:Python 遍历列表里面序号和值的方法(三种)(python遍历列表判断相同元素)

  • 海关进口增值税专用缴款书图片
  • 进货开了发票也写了购销合同要交印花税吗?
  • 拍卖公司没开发票违法吗
  • 什么是销项税额抵减
  • 个人所得税谁交
  • 小企业销售费用多少算高
  • 进项税额转出要补所得税吗
  • 财务杠杆和经营杠杆的区别
  • 单位班车费用是福利费吗
  • 金税盘年费全额抵扣分录
  • 内部收据可以做入账处理吗?
  • 转账支票需要哪些资料
  • 当地预缴2%什么时候缴纳
  • 航天金税服务费怎么做账
  • 非居民企业从居民企业取得分红
  • 人身意外保险费可以扣除企业所得税吗
  • 国外消费发票可以抵扣吗
  • 合并财务报表中的负债和股东权益
  • 收入确认和成本的关系
  • 上网慢怎么解决
  • 如何禁用开始目录的app自动推荐
  • 如何使用u盘安装软件
  • 生产车间闲置的固定资产
  • 电脑网络提示ip地址错误怎么办
  • 哪个是发票抵扣项目
  • 营业外收入的会计要素
  • 手机忘记密码怎么解开锁华为
  • 房屋土地使用权到期后续费标准
  • yolov5训练自己的模型配置到单片机
  • 利用php抓取蜘蛛网
  • 发票勾选平台进入后没有什么内容
  • 欠别人钱可以用车抵押吗
  • 红字发票已开但红字发票信息表已核销待查证,怎么回事?
  • 清算期间还需要报税吗
  • System.Data.SQLite 数据库详细介绍
  • 个人所得税和投保的区别
  • sql server 视图排序
  • 劳务报酬收入是否含税
  • 个人申请代开发票流程怎么操作?
  • 冲抵货款是什么意思
  • 政府补助属于不征税金吗
  • 小规模如何缴纳税款
  • 技术服务费是否可以开具专票
  • 政府补助怎么记账
  • 土地转让需要批准吗
  • 预付账款和其他应付款的区别
  • 投资有哪些方面
  • 因为培训发生的事情
  • 购入商品货款尚未支付
  • 防伪税控费用抵税分录
  • 收款收据可以入账吗
  • 工业企业增值税纳税义务发生时间
  • mysql 行转列 列转行
  • 如何卸载独显
  • Mac系统PPTP VPN图文设置教程
  • 双系统电脑怎么装系统
  • win8 侧边栏
  • win7共享设置(详细图文步骤)
  • GhostXP装机版v3.0
  • yum下载已安装的包
  • 更改mac地址值
  • win10命令提示符需要密码
  • win7开机错误代码
  • BootStrap glyphicons 字体图标实现方法
  • nodejs调用java
  • javascript的面向对象
  • unity3d物体碰撞
  • linux怎么使用c语言
  • node.js web
  • 自动登入
  • javascript编写
  • [置顶]星陨计划
  • 安卓中textview
  • JavaScript中的方法名不区分大小写
  • unity移动脚本代码
  • js教程
  • javascript面向对象精要pdf下载
  • 物业公司收取的物业费用如何缴税
  • 国税系统如何查询发票
  • 国税总局17号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设