一、类属性和类方法
1. 类属性:使用赋值语句在class关键字下定义
类属性就是类对象所拥有的属性,它被该类的所有实例对象所共有,内存中只存储一份。第一个对象使用完之后,第二个对象使用时是在第一个对象使用的基础上。
2. 类方法:在类内部可以直接访问类属性或者其他类方法,而不需要实例化对象
class Student(object): #定义类
count = 0 #定义类属性和属性值
def __init__(self,name):
self.name = name
Student.count += 1 #改变类属性的属性值
@classmethod #定义类方法
def Show_Student_count(cls):
print('学生数量为 %d' %(cls.count)) #在类的内部访问当前的类属性
student1 = Student('小明') #实例化对象
student2 = Student('小李')
Student.Show_Student_count() #调用类方法
二、静态方法
静态方法:使用staticmethod关键字来定义的一个类方法,直接可以通过类名来调用方法
在类中封装一个方法,这个方法既不需要访问实例属性或者调用实例方法,也不需要访问类属性或者调用类方法,这个时候,我们就可以把这个方法封装成一个静态方法