静态变量(类变量)定义在class中,但不在任何一个函数中。
类变量是属于类的,不属于任何一个对象。
类变量是属于类的,不属于任何一个对象。
类变量是属于类的,不属于任何一个对象。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。
class test:
vv = 0
def __init__(self):
test.vv += 1
print("id(test.vv)\t", id(test.vv)) #用类名调用的地址
print("在类中test.vv\t",test.vv,"\n")
t1 = test()
print(id(t1.vv)) #用对象调用,此时因对象中没有,所以是在类查找
t1.vv = 10 #用对象名调用vv变量赋值,此时新建了一个对象的vv变量
print(id(t1.vv)) #对对象的vv变量赋值后,不再去类中查找
print(id(test.vv))
print("t1.vv\t",t1.vv)
print("test.vv\t",test.vv)
输出
id(test.vv) 140732696879952
在类中test.vv 1
140732696879952
140732696880240
140732696879952
t1.vv 10
test.vv 1