python中的实例方法、静态方法、类方法

首先我们先创建一个带有实例方法、类方法和静态方法的类

class CLanguage:

# 构造函数,创建对象时被调用
def __init__(self, name, ID):
    self.name = name
    self.ID = ID
    
# 定义一个实例方法
def shilifangfa(self):
    print("正在调用实例方法%d%d" % (self.name, self.ID))
    
# 定义一个类方法
@classmethod——类方法装饰器
def leifangfa(cls,a):
    print("正在调用类方法%s"%a)
    
# 定义一个静态法
@staticmethod——静态方法装饰器
def jingtaifangfa(name, ID):
    print(name, ID)

————————————————————————
#实例方法最大的特点就是,它最少要包含一个 self 参数,用于绑定调用此方法的实例对象
————————————————————————
实例方法通常会用实例对象直接调用,例如:
clang = CLanguage(1,2) —— 创建实例对象
clang.shilifangfa() ———— 调用实例方法
结果:正在调用实例方法12
————————————————————————
#类方法和实例方法相似,它最少也要包含一个参数,只不过类方法中通常将其命名为 cls,Python 会自动将类本身绑定给 cls 参数(注意,绑定的不是类对象)。也就是说,我们在调用类方法时,无需显式为 cls 参数传参,当然也可以传参
————————————————————————
使用类名直接调用类方法(类名点方法)
CLanguage.leifangfa(1)
结果:正在调用类方法1
————————————————————————
#静态方法,其实就是函数,和函数唯一的区别是,静态方法定义在类中,而函数则定义在程序中
————————————————————————
使用类名直接调用静态方法
CLanguage.jingtaifangfa(“传什么”, “是什么”)
使用实例对象调用静态方法(实例对象只是调用,和传入的参数没关系)
clang = CLanguage(1, 2)
clang.jingtaifangfa(“传什么”, “是什么”)
结果都是:传什么 是什么
————————————————————————
重点:类方法和静态方法爱会不会,用的比较少,但实例方法一定要会

以上为个人见解,如果不妥之处,还望各大神不吝赐教

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值