python面向对象8:类(class)方法

本文深入探讨了类方法的概念,解释了其如何描述类的行为,以及如何使用@classmethod装饰器进行定义。同时,文章对比了类方法与实例方法的区别,并强调了类方法在操作类变量上的用途。

在学习过类变量之后,我们看到,类可以拥有自己的变量,那么同理,类同样可以拥有自己的方法。

说明:

1.类方法描述类的行为
2.类方法属于类
3.类方法需要用@classmethod装饰器定义
4.类方法至少有一个形参,第一个形参用于绑定类,约定写为’cls’
5.类和该类的实例都可以调用类方法

示例:

class Car:
    count = 0
    @classmethod
    def getTotalCount(cls):
        '''此方法为类方法'''
        return cls.count

c1 = Car()
#通过类来调用类方法        
print(Car.getTotalCount())
#通过对象来调用类方法
print(c1.getTotalCount())

#运行结果:0,0

比较:

1.相较于普通的实例方法,在语法上非常相似,self形参,在类方法中约定写为cls,并且必须要调用@classmethod装饰器来定义。
2.形参cls及为类本身,形参self为对象本身

用途:

类方法,通常用来操作类变量。
在面向对象思维中,我们要在逻辑上划分清楚变量和方法的归属。

比如:
对于Car这个类,通常认为run(跑)是属于对象的一个方法,每一辆车都能跑,c1在跑,c2在跑。。。。。。而count(数量)应该属于类,表达Car这个类的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值