python的类中存在三种方法,分别是实例方法,类方法,静态方法
1. 实例方法
在一般情况下,实例方法是需要从类的对象访问的(大部分情况是酱紫的),而且实例方法的第一个参数必须是self(这个必须是为了方便,其实可以使abc或者deaa等任何名字)
总结:实例方法从类的对象访问,第一个参数是self
2.类方法
和实例方法感觉差不多,区别在于,类方法可以从类访问,也可以从类的对象访问,第一个参数必须是cls,还有一点最重要的区别,就是类方法的定义,需要通过内建函数classmethod()或者修饰符@classmethod
showcountry和show_country都是类方法,类的对象和类都可以访问
3.静态方法
静态方法的参数随意,可有可无,定义方式也有两种,内建函数staticmethod和修饰符@staticmethod
静态方法和类方法一样,都无法访问类的对象的成员(也就是self变量),只能访问类成员
通过对象可以访问这三种方法,通过类只能访问类方法和静态方法