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中的内置函数getattr()介绍及示例
Jul 20 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
Python时间戳使用和相互转换详解
Dec 11 Python
Python反转序列的方法实例分析
Mar 21 Python
Python实现将数据写入netCDF4中的方法示例
Aug 30 Python
python linecache 处理固定格式文本数据的方法
Jan 08 Python
python的列表List求均值和中位数实例
Mar 03 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
Python 操作 MySQL数据库
Sep 18 Python
利用Python批量识别电子账单数据的方法
Feb 08 Python
Python函数对象与闭包函数
Apr 13 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
PHP中curl_setopt函数用法实例分析
2015/04/16 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
JqGrid web打印实现代码
2011/05/31 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
vue二级路由设置方法
2018/02/09 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
python内存管理机制原理详解
2019/08/12 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
合伙经营协议书范本
2014/09/13 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python