python命名空间(namespace)简单介绍


Posted in Python onAugust 10, 2019

命名空间: 每一个作用域变量存储的位置,或者解释为 存储作用域中变量的字典。

作用: 获取想查看某个作用域中的变量名、变量值。

使用方法: locals() #当前命名空间

1. 效果图:

python命名空间(namespace)简单介绍

2. 代码

a=10
b=20
# 定义一个变量接收全局命名空间里的变量名、变量值
global_namespace=locals()
print(global_namespace)
print('\n\n\n')
def one():
  c=30
  d=40
  # 定义一个变量接收局部命名空间里的变量名、变量值
  local_namespace=locals()
  print(local_namespace)
# 调用one函数
one()
# 命名空间(namespace)
# 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中
# 每一个作用域都会有一个它对应的命名空间
# 全局命名空间,用来保存全局变量。函数命名空间用来保存函数中的变量
# 命名空间实际上就是一个字典,是一个专门用来存储变量的字典

# locals()用来获取当前作用域的命名空间
# 如果在全局作用域中调用locals()则获取全局命名空间,如果在函数作用域中调用locals()则获取函数命名空间
# 返回的是一个字典
scope = locals() # 当前命名空间
print(type(scope))
# print(a)
# print(scope['a'])
# 向scope中添加一个key-value
scope['c'] = 1000 # 向字典中添加key-value就相当于在全局中创建了一个变量(一般不建议这么做)
# print(c)
def fn4():
  a = 10
  # scope = locals() # 在函数内部调用locals()会获取到函数的命名空间
  # scope['b'] = 20 # 可以通过scope来操作函数的命名空间,但是也是不建议这么做

  # globals() 函数可以用来在任意位置获取全局命名空间
  global_scope = globals()
  # print(global_scope['a'])
  global_scope['a'] = 30
  # print(scope)

fn4()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
Python使用getpass库读取密码的示例
Oct 10 Python
浅谈Django REST Framework限速
Dec 12 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
一步步教你用python的scrapy编写一个爬虫
Apr 17 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
Python+OpenCV实现将图像转换为二进制格式
Jan 09 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 Python
简单介绍python封装的基本知识
Aug 10 #Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 #Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 #Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 #Python
基于python二叉树的构造和打印例子
Aug 09 #Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 #Python
Django ORM 自定义 char 类型字段解析
Aug 09 #Python
You might like
php中目录,文件操作详谈
2007/03/19 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
php文件系统处理方法小结
2016/05/23 PHP
golang与PHP输出excel示例
2016/07/22 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
python的unittest测试类代码实例
2017/12/07 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
python nmap实现端口扫描器教程
2020/05/28 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
自我评价的写作规则
2014/01/06 职场文书
聚美优品广告词改编
2014/03/14 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技