Python中变量类型:
局部变量
全局变量
类变量
对象变量
外部变量
#encoding:UTF-8 #类本身拥有自己的类变量(保存在内存),当一个TestClass类的对象被构造时, #会将当前类变量拷贝一份给这个对象,当前类变量的值是多少, #这个对象拷贝得到的类变量的值就是多少;而且,通过对象来修改类变量, #并不会影响其他对象的类变量的值,因为大家都有各自的副本, #更不会影响类本身所拥有的那个类变量的值; #只有类自己才能改变类本身拥有的类变量的值 class TestClass: val1 = 100 #类变量 def __init__(self): self.val2 = 200 #对象变量 val3 = 300 print (self.val1) #通过类对象调用类变量 ok print (TestClass.val1)#通过类调用类变量ok print (self.val2) #通过类对象调用对象变量ok #print (TestClass.val2)#通过类调用对象变量erro #print (self.val3) #erro if __name__ == "__main__": object = TestClass() #print (object.val3) #erro val4 = 400 # 全局变量 def fun1(): #global val4 #若要修改全局变量的值需要使用global关键字 #val4 = 500 #print (val4) print (val4) #ok #若全局变量不在=的左边可以不需要global关键字 a = val4 print (a) #val4 = 500 #erro #print (val4) fun1() def fun2(): aa = [600] #函数外部变量 cc = 600 def fun3(): #global cc # 不能使用global print (cc) #cc = 800 #erro 注意无法修改外部变量 #print (cc) aa[0] += 10 print (aa[0]) bb = 700 print (bb) return fun3 fun2()()