1、实例方法
只能通过实例对象调用,不能通过类进行调用。在定义的时候使用关键字self,self代表实例对象本身!
class H:
def gg(self):
...... 则调用gg时,写成H().gg()
2、静态方法
可以使用实例对象调用,也可以使用类进行调用,定义时需要在函数前加@staticmethod
3、类方法
可以被类调用,也可以被实例对象调用,实例调用可以给类增加属性,类的属性修改需要通过类进行修改,类方法需要使用关键字cls,定义时候需要在函数前加@classmethod
class Student(object): school='szu' @classmethod def printmassage(cls): print(cls.school) s1=Student() Student.printmassage() s1.printmassage() s1.school='beijingizhong' #为类的实例增加属性,类的实例school本身不改变 print(Student.school)#szu print(s1.school)#beijingizhong Student.school='shanghaiyizhong'#通过类对类的属性school做修改,类的属性发生改变 s1.printmassage() #shanghaiyizhong
参考:https://www.cnblogs.com/dushangguzhousuoli/p/11162129.html