类属性、类变量:只能由类调用的属性
如下 代码中的total就是类class的变量,在这个类下声明的对象只能调用这个变量,不能修改,只有类才有资格修改类的变量。但若类的对象尝试去对total做修改,就相当于只是给自己增添了一个新的属性total,并不能改变类的变量total的值。如果类class调用total修改其值,那么对象再次访问变量total ,访问到的将是修改后的值。但如果此对象本来就有一个total属性,那么修改类的total属性后,对象的total属性的值并没有改变,还是其原来的值。
另外,类无法访问对象实例的属性,但对象可以访问类属性(类变量)。
以上解释在以下代码中也可体会:
class People(object):
#类变量可以由所有的对象访问,但是对象只能访问,不能修改
#可以用来做资源共享
total=0
name = 'python 8期'
#初始化函数,添加对象属性
def __init__(self,name,age,school):
#给对象属性赋值
self.name=name
self.age=age
self.school=school