位置: 编程技术 - 正文

浅谈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遍历列表判断相同元素)

  • 涉税专业服务是做什么的
  • 减免所得税额怎么做分录
  • 国税 增值税
  • 公司购车预计净残值率怎么计算
  • 准予抵扣的消费税
  • 承租人融资租赁设备长期应付款包括租赁资产担保余值
  • 行政划拨无偿取得发票
  • 暂估应付账款借方余额
  • 电信线路租用的手机
  • 一个公司两个纳税人识别号
  • 安装工程开发票
  • 溢价转让股权的会计处理
  • 装修待摊费用当月摊销吗
  • 年末结转本年利润后再结账吗
  • 差额税和增值税怎么算
  • 社保跨省转移社保流程
  • 采购材料的运费怎么做分录
  • 股权转让的分录怎么做
  • 总成本费用包含
  • 潜在表决权如何影响表决权
  • 印花税是怎么计算
  • 付款交单和承兑交单对卖方来说都有一定风险
  • win7 excel
  • 怎样选好布艺沙发
  • 工会经费是职工工资总额的
  • php include path
  • 企业租赁发票税率是多少2023年
  • vue状态管理有哪些
  • idea配置meaven
  • 购买超市购物卡会计分录
  • 装修费摊销的分录是什么
  • 计提工会经费明细表
  • 报税金额和开票统计不一致
  • 为什么盈余公积减少,未分配利润增加
  • 公司借给股东的钱金额较大股东可以在年底现金归还吗
  • 个税系统经营所得人员怎样添加
  • 在私立医院就诊能报销吗
  • 财政部监制的收据没有税号可以入账吗
  • 期末应交增值税的会计科目怎么做
  • 购买性支出和转移性支出都计入GDP
  • 库存商品是表达什么意思
  • 广告牌制作加盟厂家
  • 累计摊销的会计分录有哪些
  • 工作失误扣工资的规定是什么
  • 其他货币的账面价值包括
  • 管理费用费用占收入的多少
  • 单位租用员工个人的车可以不收租吗
  • 固定资产管理台账管理制度
  • 工资完税证明怎么开
  • 无票收入怎么报增值税
  • sql中的存储过程
  • SQL server字符串存数据库大还是二进制大
  • sqlserver 教程
  • mysql5.5中文乱码解决
  • 在sql查询中使用where子句指定的是
  • solaris删除文件夹命令
  • 苹果macbook air上怎么装红色警戒
  • 怎么美化ppt
  • win10怎么获取
  • ubuntu安装后怎么启动
  • wfxsnt40.exe - wfxsnt40是什么进程
  • win8桌面右键无法使用
  • 服务win10
  • win10怎么显示磁盘已用空间
  • linux tar -xzvf
  • win10预览版和正式版区别
  • js实现下拉框联动
  • android 4.2
  • unity 3a游戏
  • javascript的原型,原型链,有什么特点?
  • 菜鸟教程安卓下载
  • node.js alert
  • JavaScript中setFullYear()方法的使用详解
  • docker编写dockerfile
  • android support包
  • javascript数据类型有哪些
  • javascript project
  • 非营利组织认定条件
  • 2023年内蒙古房贷利率最新消息
  • 个人所得税税单下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设