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创建xml的方法
Mar 10 Python
python 打印对象的所有属性值的方法
Sep 11 Python
python实现决策树分类(2)
Aug 30 Python
Python中is和==的区别详解
Nov 15 Python
手把手教你如何安装Pycharm(详细图文教程)
Nov 28 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
用python拟合等角螺线的实现示例
Dec 27 Python
django中的数据库迁移的实现
Mar 16 Python
python实现图像全景拼接
Mar 27 Python
Python实现读取并写入Excel文件过程解析
May 27 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与已存在的Java应用程序集成
2006/10/09 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
PHP生成随机密码类分享
2014/06/25 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php单例模式示例分享
2015/02/12 PHP
基于jquery的3d效果实现代码
2011/03/23 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
JS高级运动实例分析
2016/12/20 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python中Class类用法实例分析
2015/11/12 Python
python学生信息管理系统
2018/03/13 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
幼儿园评语大全
2014/04/17 职场文书
火灾现场处置方案
2014/05/28 职场文书
购房意向书
2014/08/30 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
社区灵活就业证明
2014/11/03 职场文书
开票员岗位职责
2015/02/12 职场文书
辞职信的写法
2015/02/27 职场文书
升学宴家长致辞
2015/07/27 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers