Python变量

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()()

 

posted @ 2018-01-16 13:57  Fate0729  阅读(2954)  评论(0编辑  收藏  举报