python面向对象编程中有几种比较特殊的方法,大家要注意区分
实例方法:只能由类的实例,也就是对象来调用,第一个参数总是self,调用时由python自动传入当前调用该方法的实例。(self的作用:self主要是在定义方法时表明当前方法是一个实例方法,只能由类的实例来进行调用。self在定义方法时必须以第一个参数的形式定义到实例方法中,而在调用时则不需要写self参数
类方法:使用@classmethod来修饰,类方法默认以cls参数作为第一个参数,调用时可以以类直接进行调用,也可以以实例来调用。但类方法不能访问对象属性(即通过self。xx定义的属性),只能访问类属性
实例的权限是高于类权限的(所有人都能做的事情,张三能做。张三能做的事不是所有人都能做)
什么时候应该定义类方法,什么时候定义实例方法
更具体的某个实例没有关系的方法,一般定义为类方法
类属性:类和实例都能访问
实例属性:只能实例访问
属性方法:@property