类方法

类方法与普通的成员函数和静态函数有不同之处,在接触的语言中好像也没见过这种语义,看它的定义: 
一个类方法就可以通过类或它的实例来调用的方法, 不管你是用类来调用这个方法还是类实例调用这个方法,该方法的第一个参数总是定义该方法的类对象。 
记住:方法的第一个参数都是类对象而不是实例对象. 
按照惯例,类方法的第一个形参被命名为 cls.任何时候定义类方法都不是必须的(类方法能实现的功能都可以通过定义一个普通函数来实现,只要这个函数接受一个类对象做为参数就可以了).

# 规范:自己的成员自己去访问,除了类中的方法,类中的方法用对象去访问
# 通过类去访问的有:类属性,静态方法,类方法
# 通过对象去访问的有: 对象属性,类中的方法
# 静态方法存在的意义在于不需要创建对象就可以执行该方法
# 类方法相当于一个特出的静态方法(有参数)


class A(object):

    @classmethod
    def run(cls):
        print('run',cls)
# 类方法通过类直接调用,类方法中的cls参数自动传递,传递类对象
A.run()

 

转载于:https://www.cnblogs.com/liyqiang/p/6010249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值