class A(object):
aa = 10
if __name__ == '__main__':
x = A()
y = A()
A.aa = 9
print("after set A.aa=9")
print("x.aa=",x.aa)
print("y.aa=",y.aa)
x.aa = 8
print("after set x.aa=8")
print("x.aa=",x.aa)
print("y.aa=",y.aa)
A.aa = 7
print("after set A.aa=7")
print("x.aa=",x.aa)
print("y.aa=",y.aa)
y.aa=5
print("after set y.aa=5")
print("x.aa=",x.aa)
print("y.aa=",y.aa)
A.aa=3
print("after set A.aa=3")
print("x.aa=",x.aa)
print("y.aa=",y.aa)
程序运行结果如下所示:
- after set A.aa=9x.aa= 9y.aa= 9after set x.aa=7x.aa= 8y.aa= 9after set A.aa=7x.aa= 8y.aa= 7set y.aa=5x.aa= 8y.aa= 5after set A.aa=3x.aa= 8y.aa= 5
结论:python 中类变量可转化为实例成员变量 ,类变量的调用方式为类.类变量,当用实例名.类变量后,这变量相对于这个实例为属于自己的实例成员变量。
类.类变量,当用实例名.类变量后,这变量相对于这个实例为属于自己的实例成员变量。
类变量的访问方式需要保持不变,特性才会不变