和类属性可细分为类属性和实例属性一样,类中的方法也可以有更细致的划分,具体可分为类方法、实例方法和静态方法,本节将详细介绍这 3 种类方法的特点和用法。
Python类实例方法
通常情况下,在类中定义的方法默认都是实例方法。前面章节中,我们已经定义了不只一个实例方法。不仅如此,类的构造方法理论上也属于实例方法,只不过它比较特殊。
例如:
class Person :
#类构造方法,也属于实例方法
def __init__(self, name = 'Charlie', age=8):
self.name = name
self.age = age
# 下面定义了一个say实例方法
def say(self, content):
print(content)
实例方法最大的特点就是,它最少也要包含一个 self 参数,用于绑定调用此方法的实例对象。实例方法通常会用类对象直接调用,当然也可以用类名调用,例如:
#创建一个类对象
person = Person()
#类对象调用实例方法
person.say("类对象调用实例方法")
#类名调用实例方法,需手动给 self 参数传值
Person.say(person,"类名调用实例方法")
运行结果:
类对象调用实例方法
类名调用实例方法
Python类方法
Python 类方法和实例方法相似