¥名称空间¥

名称空间

【一】什么是名称空间

  • 存放函数名和函数值对应关系的地方

  • 变量名=变量值

  • 先开辟一块内存空间,把函数值扔到内存空间中----》内存空间

  • 然后将变量名和变量值进行绑定存放到名称空间中---》名称空间中

【二】名称空间的分类

【1】内建名称空间

  • 伴随Python解释器的代码启动而生成,随着代码结束而关闭

    • 第一个被加载的名称空间,用来存放一些内置的名字,比如内建函数名

print(max)
# <built-in function max>
#翻译:max最大

【2】全局名称空间

  • 随着内建名称空间加载完成

  • 伴随python文件的开始执行/执行完毕而产生/回收

    • 是第二个被加载的名称空间,文件执行过程中产生的名字都会存放于该名称空间中,如下名字

import sys #模块名sys
​
x=1 #变量名x
​
if x == 1:
    y=2 #变量名y
​
def foo(x): #函数名foo
    y=1
    def bar():
        pass
​
Class Bar: #类名Bar
    pass
​

# 这个列表是全局的列表
# 列表是可变数据类型 ---> 列表被修改后id不变
num_list = []
print(id(num_list)) # 1200291395392
def add_list(num):
    num_list.append(num)
    print(id(num_list)) # 1200291395392
add_list(1)
add_list(2)
add_list(3)
print(num_list) # [1, 2, 3]
print(id(num_list)) # 1200291395392
 

【3】局部名称空间

  • 在函数内部或者是类内部定义的变量

  • 随着函数启动而创建,随着函数结束而消失

  • 列表式是可变数据类型----》列表被修改后id不变

  • 函数的形参,函数内定义的名字都会被存放于该名称空间中

【4】名称空间的加载顺序

  • 内置--》全局--》局部

  • 查找一个名字的顺序:

  • 局部-》全局-》内置

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值