全局标量与局部变量

全局标量与局部变量

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

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

  

转载于:https://www.cnblogs.com/astrotrain/p/8794578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值