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使用MySQLdb访问mysql数据库的方法
Aug 03 Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
Python3 tkinter 实现文件读取及保存功能
Sep 12 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
numpy.transpose()实现数组的转置例子
Dec 02 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
深入了解python列表(LIST)
Jun 08 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
Python模块常用四种安装方式
Oct 20 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容易被忽略而出错陷阱 数字与字符串比较
2011/11/10 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
js实现日期级联效果
2014/01/23 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
js动态切换图片的方法
2015/01/20 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
Python描述器descriptor详解
2015/02/03 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
公司培训心得体会
2014/01/03 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
公司授权委托书范本
2014/04/03 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
小学校长个人总结
2015/03/03 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
python编程实现清理微信重复缓存文件
2021/11/01 Python