python中的命名空间_深入理解Python中的命名空间和范围
Python中的命名空间和范围
在Python中,每个包、模块、类、函数和方法函数都拥有一个“名称空间”,其中解析了变量名称。下面本篇文章就来带大家认识一下Python中的命名空间和范围,希望对大家有所帮助。
什么是命名空间:
命名空间是一个系统,用于确保程序中的所有名称都是唯一的,并且可以在没有任何冲突的情况下使用。多个名称空间可以使用相同的名称并将其映射到不同的对象。【视频教程推荐:Python教程】
举个例子,计算机中的目录文件系统结构。不用说,一个人可以拥有多个目录,每个目录中都可以有一个具有相同名称的文件。但是,人们可以通过指定文件的绝对路径来定向文件。
Python中的命名空间是作为Python字典实现的,这意味着它是从名称(键)到对象(值)的映射。用户无需知道这一点就可以编写Python程序以及使用命名空间时。
命名空间的类型:
本地命名空间:此命名空间包含函数内的本地名称。调用函数时会创建此命名空间,它只会持续到函数返回。
全局命名空间:此命名空间包含您在项目中使用的各种导入模块的名称。它是在模块包含在项目中时创建的,并且一直持续到脚本结束。
内置命名空间:此命名空间包含内置函数和内置异常名称。
命名空间的生命周期:
命名空间的生命周期取决于对象的范围,如果对象的范围结束,则该命名空间的生命周期结束。因此,无法从外部命名空间访问内部命名空间的对象。
什么是范围?
命名空间可以帮助我们唯一地识别程序中的所有名称。但是,这并不意味着我们可以在任何地方使用变量名称。名称还有一个范围,用于定义程序中可以使用该名称而不使用任何前缀的部分。就像命名空间一样,程序中也有多个范围。
范围是指程序的一个区域,其中可以直接访问命名空间,即不使用命名空间前缀。换句话说:名称的范围是程序的一个区域,可以明确地使用该名称,例如在函数内部。
名称的名称空间与其范围相同。范围是静态定义的,但它们是动态使用的。
以下是程序执行期间可能存在的一些范围的列表:
● 本地范围:它是最里面的范围,包含当前函数中可用的本地名称列表。
● 所有封闭函数的范围:搜索名称从最近的封闭范围开始并向外移动。
● 包含当前模块中所有全局名称的模块级作用域。
● 包含所有内置名称列表的最外层作用域。最后搜索此范围以查找您引用的名称。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注码农之家相关教程栏目!!!
以上就是Python中的命名空间和范围的详细内容,更多请关注码农之家其它相关文章!
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
python中的命名空间_深入理解Python中的命名空间和范围相关推荐
- 如何用python写数值运算_如何理解Python的数值运算?
1 基本算术运算 1.1 使用规则 – Python解析器相当于一个简单的计算器 – Python解析器可以接受简单的算术表达式 – 运算符可以使加(+)减(-)乘(*)除(/) 1.2 实操理解 # ...
- python装饰器由浅入深_由浅入深理解Python装饰器
前提知识: 1.Python里函数也是一种对象: def shout(word="yes"): return word.capitalize()+"!" pri ...
- python signal模块作用_如何理解python中信号Signal?
信号signal 是python进程间进行信号发送的一种机制,其原理是操作系统对进程的控制,是一种程序中断一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 那么singanl到底有什么用呢 ...
- 如何理解python中的函数_如何理解“python中函数是一等公民”?
python.js.scala等支持函数式编程的语言中,是如何体现"函数是一等公民(first class)"的?而在c/c++.java等静态语言中的一等公民又是什么?如何体现的 ...
- python中的常量_深入理解Python中的内置常量
前言 大家都知道Python内置的常量不多,只有6个,分别是True.False.None.NotImplemented.Ellipsis.__debug__.下面就来看看详细的介绍: 一. True ...
- python属于什么部门_如何理解简历中部门名称的模式?
Python 2.6 最近我在做一些关于简历的文本挖掘工作.这样做的目的是根据简历的标题和内容将简历分成几个部分,然后根据需要对简历进行分类.我们知道简历通常包括以下几部分: 1)个人信息 2)总结 ...
- python画爱心原理_如何理解python一行代码实现一个爱心字符画?
前言 python中有个很酷的效果,一行代码实现一个爱心字符,虽说是一行代码,但是理解起来还是比较难的,括号太多,并且使用了python的一些快捷小技巧.比如三元表达式,列表生成式,字符串拼接以及一个 ...
- python逆向什么意思_如何理解python逆向切片
str = '0123456789' (推荐教程:python基础教程) 如上,我们有一个数值型字符串,接下来我们分别从正向和逆向两个维度截取数据.str[start:end:step] start表 ...
- python面向对象三大特性_深入理解Python面向对象的三大特性
在面向对象程序设计中,对象可以看做是数据(特性)以及由一系列可以存取.操作这些数据的方法所组成的集合.编写代码时,我们可以将所有功能都写在一个文件里,这样也是可行的,但是这样不利于代码的维护,你总不希 ...
最新文章
- redis学习笔记(一): sds
- 32要烧写3个bin文件_入门教程3:如何给ESP8266烧录Gagent固件,快速接入机智云实现透传功能...
- java写dnf外掛_dnf卡盟_Java的泛型详解(一)
- input=file 浏览时只显示指定excel文件,筛选特定文件类型
- mysql fulltext 分页_关于MySQL的FULLTEXT实现全文检索的注意事项
- mysql无法添加或更新子行_MySQL无法添加或更新子行
- NDK编译c包含C++头文件时,出现 error: unknown type name 'class' 的解决方法
- FaceBoxes—官方开源CPU实时高精度人脸检测器
- MyBatis框架笔记01:MyBatis初探
- 看懂理解 keyboard中 , navigation的设置: 切换工作区和移动窗口到不同的工作区.
- 技巧:在Silverlight应用程序中操作Cookie
- 科创人·黑湖科技CEO周宇翔:To B产品不应忽视产品体验,制造业的未来是需求定义生产
- VPX加固机箱学习资料第289篇:基于3U VPX的 5槽加固机箱
- (新)OpenCV配置visual studio2019详细教程
- 剪枝算法(算法优化)
- 三阶魔方还原教程最详细
- 大师系列之彼得•林奇基层调查选股法
- 数据存储与容灾实验 用Winhex恢复磁盘
- vue博客模板—Gblog
- quartus II编译报错:Error: Current license file does not support the XXX device 环境win10,Quartus2出现破解问题
热门文章
- Ruby,Python和Java中的Web服务
- python子进程关闭fd_gpg –passphrase-fd无法使用python 3子进程
- Servlet 运行原理
- ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?
- java请求并行方案_让 Yar Java Client 支持执行并行请求,ExecutorService 的使用
- php 异步post,php – 使用POST的异步cURL
- python从列表随机取出多个数据_【python】从数组随机取数据
- kettle 资料_Kettle的使用-初级
- java换成中文_如果我们的编程替换成中文会变成怎样?
- mysql log_来吧,了解下mysql有哪些log