python中from是什么意思_Python中import和from的一些事。。。
摘自python学习手册, 用于记录。
客户端可以执行import或from语句。如果模块还没有加载,这两个语句会去搜索、编译以及执行模块文件程序。主要差别在于,import会读取整个模块,所以必须进行定义后才能读取它的变量名;from将获取(或者是复制)模块特定的变量名。
import使一个变量名引用整个模块对象,因此必须通过模块名称来得到该模块的属性(例如,module1.printer)。而from会把变量名复制到另一个作用域,所以它就可以直接在脚本中使用复制后的变量名,而不用通过模块(例如,printer)。
from语句有破坏命名空间的潜质。如果使用from导入变量,而那些变量碰巧和作用域中现有变量重名,变量就会被悄悄的覆盖掉。使用import语句时就不存在这种问题,因为必须通过模块名才能获取其内容。不过,使用from时,只要你了解并预料到可能发生这种事,在实际情况下这就不是一个大问题了,尤其是当你明确列出导入变量名时(例如,from module import x, y, z)。
另一方面,和reload调用同时使用时,from语句有比较严重的问题,因为导入的变量名可能引用之前版本的对象。再者,from module import *形式的确可能破坏命名空间,让变量名难以理解,尤其是在导入一个以上的文件时。
比较务实的建议是:简单的模块一般倾向于使用import,而不是from。多数的from语句是用于明确列举想要的变量,而且限制在每个文件中只用一次from *形式。这样一来,任何无定义的变量名都可以认为是存在于from *所引用的模块内。当你必须使用两个不同模块内定义的相同变量名变量时,才真的必须使用import,这种情况下不能使用from。
python中from是什么意思_Python中import和from的一些事。。。相关推荐
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- python post与get的区别_python中get和post有什么区别
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...
- python深复制与浅复制_Python中的深拷贝和浅拷贝详解
要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...
- python运行mcmc为何老出错_python中mcmc方法的实现
MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...
- python的init有什么用_Python中 __init__.py的作用
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package ...
- python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续
上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...
- python计算数组元素的和_python中数组的运算
Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...
- python中格式化字符串的作用_python中字符串格式化的意义(化妆)
格式 描述 %%百分号标记 #就是输出一个% %c字符及其ASCII码 %s字符串 %d有符号整数(十进制) %u无符号整数(十进制) %o无符号整数(八进制) %x无符号整数(十六进制) %X无符号 ...
- python中 r是什么意思_python中rb含义理解
Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 文件使用方式标识 'r':默认值,表示从文件读取数据 'w':表示要向文件写入数据,并截断以前 ...
最新文章
- php函数:register_shutdown_function
- 通过grub硬盘安装centos7
- 在控制台中录入学生成绩,计算总分,最高分,最低分(Python)
- 微软获得O/R映射技术专利 业界担忧阻碍技术进展
- php教程目录,php基础入门篇-文件和目录操作_PHP教程
- mysql中的强制索引_MYSQL中常用的强制性操作(例如强制索引)
- [蓝桥杯]试题 基础练习 Huffuman树
- 大数据分析平台具备怎样的功能
- deep|Bayes(4)
- 需求:vue+svg实现连线功能
- 波兰表达式和逆波兰表达式
- 计算机指法标准,标准盲打指法练习
- JavaFX开发桌面,移动端,嵌入式权威指南(二)—— 如何应用JavaFX开发用户界面
- java获取时间(今天,昨天,上周第一天,本周第一天,本周最后一天)
- mj评[杜拉拉升职记]-8.5分
- 局域网下微信无法连接到服务器,微信无法连接到服务器怎么办
- 教程 | 阿克曼结构移动机器人的gazebo仿真(二)
- 【数学建模】基于matlab模拟疫情SEIRS模型【含Matlab源码 2214期】
- 获取Google PR值的代码!
- 什么是公链,私链,联盟链?
热门文章
- #sql server 导入excel数据报错 未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
- Vite(三)部署静态站点(wordpress与hugo与Vercel、CI/CD、Travis CI、GitLab CI)、环境变量与模式、服务端渲染(SSR)
- 20200425观《玄奘之路》心得
- Vue2项目引入vant报错问题解决export ‘isVNode‘ (imported as ‘isVNode‘)
- GOJS入门二 -如何节点添加图片
- 产品经理(16)#PC端设计
- 蛙泳、自由泳、仰泳、蝶泳,图解动画,教你游泳,不会游的看了包你学会!!!
- 软考中级 真题 2016年下半年 系统集成项目管理工程师 应用技术 下午试卷
- java神秘岛_我的世界1.4.2喵喵苍炎冒险整合包1.1含服务端(含IC,BC,暮色,神秘岛,,PAM世界等MOD)...
- 2021年特种作业操作证2021年焊工证熔化焊接与热切割考试题库解析