python中静态方法存在的意义

本文深入解析Python中实例方法、类方法及静态方法的区别与应用场景。实例方法依赖于对象,至少包含一个self参数;类方法通过类调用,需@classmethod装饰,包含cls参数;静态方法无需实例或类资源,@staticmethod装饰,适用于不依赖于类或实例状态的场景。

实例方法、类方法、静态方法的区别

这三种方法都是保存在类的内存中,调用者不同。

  • 实例方法由对象调用,至少一个self参数,self代表对象的引用。
    self指向当前的实例对象,所以只要该方法有self参数,在调用此方法的时候会先把这个对象的内存空间加载进来,以便在方法中使用该实例对象的属性或者方法
  • 类方法由类调用,至少一个cls参数,并且需要装饰器@classmethod修饰
    cls指向当前的类对象,类对象不等于实例对象,类对象和实例对象都有单独的内存空间存储,当调用一个含有@classmethod装饰的方法,则会先加载这个类的内存空间
  • 静态方法由类调用,不需要参数,需要装饰器@staticmethod修饰
    静态方法不不要使用实例对象的属性方法也不需要使用类对象的属性所有无论往静态方法中传一个self还是cls都会加载对应的资源,而静态方法又不使用,所有为了节省资源静态方法就应运而生.并且一直保存再来没有删除,尽管用到的次数很少.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值