python全局名称空间_Python函数-作用域(全局变量-局部变量)-名称空间

一、作用域

1、函数中定义的变量叫局部变量,在程序一开始定义的变量叫全局变量

2、全局变量作用域是整个程序,局部变量作用域是该变量函数

3、变量查找顺序为 局部变量>全局变量

4、全局、局部变量重名时,定义局部变量的函数内起作用,其他地方全局变量起作用

5、函数内修改全局变量 global 变量名

name="胖汶" # 全局变量

def love():

age=18 # 局部变量

globle name = "小可爱" # 只在函数内修改全局变量

print('hello world !')

二、名称空间 name space

存放名字的地方,如x=1 1存放在内存中 x存放在哪? 名称空间 正是存放么名字x与1绑定关系的地方

python里面有很多名字空间,每个地方都有自己的名字空间,互不干扰,不同空间中的两个相同名字的变量之间没有任何联系。

种类 LEGB

locals 函数内部的名称空间,一般包含函数的局部变量和形参

enclosing function 嵌套函数中外部函数的名称空间,若 fun2 嵌套在fun1里,对fun2来说,fun1的名称空间就是 enclosing

globals 当前模块空间,模块指一些py文件,就是所 globals()类似全局变量

builtins 内置模块空间,是内置变量或内置函数名称空间,print(dir(builtins))可查看包含额值

不同变量的作用域不同,是有这个变量的名称空间决定的

作用域就是范围

全局范围:全局存活,全局有效

局部范围:临时存活,局部有效

查看作用域方法 globals(),locals()

作用域范围 即locals -> enclosing function -> globals ->builtins

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值