Python中的作用域

作用域就是作用空间 我们可以这么理解一个程序的所有变量不是在任何一个位置都可以访问的,访问权限取决于这个变量是在那里赋值的。

全局变量和局部变量是两种最基本的变量的作用域
定义在局部作用域(通常是函数,类)被称为局部变量 作用域外不能访问其内部的变量,暂时的存在,只依赖于定义他们的函数或者类现阶段是否运行,当函数运行结束,其中声明的变量也就失效了。
定义在全局作用域的变量称为全局变量 函数内可以访问函数外的全局变量,全局变量不依赖某个函数,除非删除全局变量,否则它会到程序运行结束才消失。在其作用域内,所有的函数都可以使用它

python中的作用域分4中情况
L :local 局部作用域 即函数中定义的变量
E : enclosing 嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的
G:globa 全局变量 ,就是模块级别定义的变量
B:built-in 系统固定模块里面的变量,比如int,bytearray等。搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB

优先级
python 会先从局部作用域开始搜索,找到就使用,找不到就继续向上层寻找,如果都没找到会抛出异常
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值