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字符串替换示例
Apr 24 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
Django内容增加富文本功能的实例
Oct 17 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
python交易记录链的实现过程详解
Jul 03 Python
Linux下通过python获取本机ip方法示例
Sep 06 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 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中new static() 和 new self() 的区别介绍
2015/01/09 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
vue 组件简介
2020/07/31 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
python实现nao机器人手臂动作控制
2019/04/29 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
opencv3/C++ 平面对象识别&透视变换方式
2019/12/11 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
生产厂厂长岗位职责
2013/12/25 职场文书
软件项目开发计划书
2014/05/01 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
外国人来华邀请函
2015/01/31 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
新手初学Java List 接口
2021/07/07 Java/Android
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技