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查看FTP是否能连接成功的方法
Jul 30 Python
Python自动生产表情包
Mar 17 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
Python import与from import使用及区别介绍
Sep 06 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
python实现贪吃蛇游戏
Mar 21 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 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 反射机制实现动态代理的代码
2008/10/22 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php广告加载类用法实例
2014/09/23 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php算法实例分享
2015/07/14 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
php 实现进制相互转换
2016/04/07 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
Vue.js用法详解
2017/11/13 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
python实现屏保计时器的示例代码
2018/08/08 Python
详解Django CAS 解决方案
2019/10/30 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
师范生教师实习自我鉴定
2013/09/27 职场文书
元旦晚会邀请函
2014/01/27 职场文书
大班幼儿评语大全
2014/04/30 职场文书
社团活动总结书
2014/06/27 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
Python函数中apply、map、applymap的区别
2021/11/27 Python