python快速学习回忆版本------第六章-3

'''
作用域:变量可以使用的范围,程序的变量并不是在哪儿个位置都可以访问的,访问的权限决定于
        这个变量实在哪里赋值
划分:
    1、局部作用域L
    2、闭包函数外到函数中E
    3、全局作用域G
    4、内建作用域B

变量查找规则:
    L->E->G->B
'''

num=10
print("1--------",id(num))
def func():
    #global 将定义的变量申明成全局变量
    global num
    num=20
    print("2------",id(num))
    print("1------num = %d"%num)

func()
print("2-----num = %d"%num)


def fun2():
    a=10
    def fun3():
        a=20 #这个时候a是新的一个值,如果需要修改,需要申明nonlocal a
        nonlocal a #nonlocal 这个只能查找上一层作用域
        print("1------a = %d"%a)
    fun3()
    print("2------a = %d"%a)
fun2()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值