首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python进阶系列连载(1)——类方法、实例方法和静态方法

我们在进行面向对象学习时,会遇到各种方法,类方法、实例方法、静态方法。那这些到底是什么?怎么用?有啥区别?

Python类中的方法也可以具体可划分为类方法、实例方法和静态方法。

一般,我们在面向对象编程时,类中定义的都是实例方法。

下面这些代码定义的就是实例方法,一般需要传入self参数:

如果要使用以上的实例方法,首先需要实例化一个对象,然后调用方法:

输出如下:

Python类方法中需要至少包含一个参数,一般默认写为cls,类方法的例子如下(在原来实例方法的基础上加入类方法):

大家应该发现了,类方法需要使用修饰语句:@classmethod

类方法主要有两种方式调用:

第一种,使用类名直接调用类方法:

输出:

第二种,使用类实例调用类方法(不推荐):

输出:

从以上可以看出,不创建实例和创建实例,都可以调用类方法。

接下来看看静态方法,静态方法不需要self、cls这样的参数,可以理解为静态方法只是普通的函数,不会用到类属性等内容。类静态方法中无法调用任何类和对象的属性和方法,静态方法与类的关系不大,加入了静态方法代码如下:

静态方法主要有两种方式调用:

第一种,使用类名直接调用静态方法:

输出:

第二种,使用类实例调用静态方法:

输出:

一般来说,实例方法大家必须掌握,其次,建议在面向对象编程中区分一下实例方法和静态方法。当用不到类属性时可以写静态方法,而不是实例方法。当你的某个方法与其它的方法没有任何关系的时候,就可以定义为静态方法和类方法。

大家应该学会了吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230525A092E200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券