若是只看这个图,不少人可能会看的一头雾水,特别是学过彻底面向对象语言的同窗, Python 是双面向的,既能够面向函数编程,也能够面向对象编程,所谓面向函数就是单独一个. py 文件,里面没有类,全是一些函数,调用的时候导入模块,经过模块名.函数名()便可调用,彻底不须要类,那么你可能会问,那要类还有什么毛用? 类就是用来面向对象编程啦,类能够有本身的属性,类能够建立不少实例,每一个实例能够有不一样的属性,这也就保存了不少私有的数据,总之都有存在的必要.编程
再来看上面这张图,在类里面定义的函数就是方法,类方法须要@ classmethod 修饰而且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修饰,类和实例均可以访问静态方法,实例能够访问实例方法也能够访问类方法,类能够访问类方法也能够访问实例方法,访问实例方法必需要带参数 self, 能够理解为类其实也是一个实例,类访问实例方法不带参数会报错的.类自己能够访问函数,实例却不行.函数