python之'实例方法、静态方法和类方法的区别和使用'

1.区别:

 实例方法类方法静态方法
第一个默认参数

self :表示当前类的一个实例

cls :表示当前类本身没有第一个默认参数
修饰器没有修饰器@classmethod@staticmethod
方法调用实例对象类名/实例对象类名/实例对象
使用方法内需要使用实例属性方法内需要使用类属性/类方法方法内无实例属性/类属性/类方法的操作
class A(object):
    class_name='类名'
    def __init__(self,name):
        self.isinstant_name=name

    def method(self):
        print('self=',self)
        print("实例属性=",self.isinstant_name)

    @classmethod
    def class_method(cls):
        print('cls=',cls)
        print("类属性=",cls.class_name)

    @staticmethod
    def static_method():
        print("静态方法")


print('#通过实例调用三种方法#')
a = A('isinstant_name')
a.method()
a.class_method()
a.static_method()

print('#通过类名调用静态方法和类方法#')
A.class_method()
A.static_method()

output: 

#通过实例调用三种方法#
self= <__main__.A object at 0x0000025226DFDC88>
实例属性= isinstant_name
cls= <class '__main__.A'>
类属性= 类名
静态方法
#通过类名调用静态方法和类方法#
cls= <class '__main__.A'>
类属性= 类名
静态方法

参考:

https://blog.csdn.net/helloxiaozhe/article/details/79940321

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值