python中类方法、类实例方法、静态方法的使用与区别

上代码:

class A(object):
    name='python'#类属性
    def __init__(self):
        self.age=18 #实例属性
    def a_print(self):#实例方法
        print('aaa')

    @classmethod    #类方法
    def b_print(cls):   #cls--指代当前的类
        print(cls.name)

    @staticmethod   #静态方法
    def c_print():
        print('static method')

print(A.name)   #类调用属性
#A.a_print()
A.b_print()     #类调用类方法
A.c_print()     #类调用静态方法

a=A()   #生成类实例
a.a_print()     #实例对象调用实例方法
a.b_print()     #调用类方法
a.c_print()     #调用静态方法

输出结果:

python
python
static method
aaa
python
static method

注意:

如果使用类调用实例方法是会报错的:

A.a_print()

所以,类的实例对象可以调用类中除私有方法外的所有方法和属性;类不能直接调用实例方法。总结如下:

(直接盗个图懒得自己写了)

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值