python关于变量的声明

s = "我是全局变量"
def glo_and_non():
    def do_local ():
        s = "我是局部变量"
        print ("1 "+ s) #在do_local中声明了一个局部变量s
    def do_nonlocal():
        nonlocal s #在glo_and_non中声明的一个变量
        s = "我不是局部,也不是全局"
    def do_global ():
        global s #声明的一个全局变量
        s = "我是最靓的仔-全局变量"
        print ("4 "+s)
    s = "原值"
    do_local ()#运行do_local方法
    print("2 局部变量赋值后:",s)
    do_nonlocal()#运行do_nonlocal方法
    print("3 nonlocal变量赋值后: ", s)#因为运行了do_nonlocal方法使s变量成了"我不是局部,也不是全局"
    do_global()#运行do_global方法
    print("5 全局变量赋值后:", s)#因为还是在glo_and_non方法内,所有变量s还是"我不是局部,也不是全局"
glo_and_non()
print("6 全局变量: ", s)#全局变量s是"我是最靓的仔-全局变量"

你可能感兴趣的:(python,开发语言)