# 类属性和实例属性 ```python class Student(): count = 10 # count是类属性 def __init__(self, name): self.name = name # name是实例属性 # 通过类来访问类属性 print(Student.count) 10 print(Student.name) # 报错AttributeError s1 = Student('xiaoming') print(s1.name) xiaoming print(s1.count) 10 # 实例也可以访问类属性 # 通过实例更改类属性的值,不影响类访问类属性的值 s1.count = 50 print(s1.count) 50 print(Student.count) 10 # 通过类更改类属性的值,不影响实例访问类属性的值 Student.count = 30 print(s1.count) 50 print(Student.count) 30 # 另外实例化一个对象,类属性值为最新值 s2 = Student('xiaohua') print(s2.count) 30 print(Student.count) 30 ``` ```python # 统计类调用次数来统计人数 class Student(object): count = 0 def __init__(self, name): self.name = name Student.count += 1 # 测试 if Student.count != 0: print('测试失败!') else: bart = Student('Bart') if Student.count != 1: print('测试失败!') else: lisa = Student('Bart') if Student.count != 2: print('测试失败!') else: print('Students:', Student.count) print('测试通过!') ```