全局标量与局部变量

全局标量与局部变量

 声明规范:全局变量全部大写,局部变量全部小写

在python中,顶头写的变量就是全局变量,即没有任何缩进定义的变量,定义之后全局变量在任何位置都可被调用。

局部变量就是在子程序中定义的变量,例如在函数中的变量。

name = "ali"

def change_name():
    name = "大帅比"
    print(name)
    return name

change_name()
print(name)

  

在函数中修改全局变量,需在函数体开头引用global关键字

name = "ali"

def change_name():
    global name
    name = "大帅比"
    print("ali",name)
    return name

change_name()
print(name)

 

在函数中不使用global关键字,对于可变类型,可对元素进行操作

name = ["ali","19"]

def change_name():
    name.append("大帅比")
    print(name)
    return name

change_name()

  

函数多层嵌套调用全局标量

name = "奔驰"

def weihou():
    name = "宝马"
    def weiweihou():
        global name
        name = "奥迪"
    weiweihou()
    print(name)

print(name)
weihou()
print(name)

  

在函数多层嵌套里nonlocat关键字,引用上一层函数的变量

name = "奔驰"

def weihou():
    name = "宝马"
    def weiweihou():
        nonlocal name
        name = "奥迪"
    weiweihou()
    print(name)

print(name)
weihou()
print(name)

  

posted @ 2018-04-11 11:19  大火车  阅读(194)  评论(0)    收藏  举报