python中的import、from import及import as的区别解析
作者:douguailove 时间:2022-10-07 15:56:09
首先介绍一下import和include的区别或者说import相对include的好处:
import导入的内容只会被包含一次,在引入之前会检测是否已经存在该模块,不存在才会被引入,而include是不会做判断的。使用import在递归包含的时候不会出错,不会引起交叉编译的问题。此外,使用include引入头文件对其引入顺序也有一定的要求。
import
import是python提供的用于导入模块的机制,导入是的整个模块的内容。模块可以是py、pyc、pyd,可以是系统自带的,也可以是自定义的。使用语法:#import os
python中所有加载到内存的模块都存放到sys.modules中,在引入一个模块之前,会先在列表中查找是否已经加载了该模块,如果已经加载则只用将模块的名字加入到正在调用import模块的local名字空间中;没有加载则将该模块载入到内存,并存放到sys.modules中。
from import
用于导入一个模块中的某一个部分,比如一个函数或者一个类等。使用语法:from os import path 表示引入os模块中的path
import as
用于引入一个模块的同时为该模块取一个别名。使用语法:import multiprocessing as mp 表示引入multiprocessing模块并取别名为mp,在该文件的后续调用中mp就相当于是multiprocessing。
Python中import的as语法
在Python中,如果import的语句比较长,导致后续引用不方便,可以使用as语法,比如:
import dir1.dir2.mod
那么,后续对mod的引用,都必须是dir1.dir2.mod
dir1.dir2.mod.X
那么,为了简化输入,可以使用as语法:
import dir1.dir2.mod as m
那么,后续对mod的引用,可以直接使用m
m. X
需要注意的是,使用as语法之后,只能通过as后面名字来访问导入的moudle
import mod as m
m.X # OK
mod.X # Error
下面提供as的完整语法格式,import和from都支持:
import modulename as name # 只能通过name来引用
from modulename import attrname as name # 只能通过name来引用
来源:https://blog.csdn.net/guaiguaihenguai/article/details/94488238
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Javascript验证方法大全
如何判断电子邮件的地址格式是否正确?
利用python Selenium实现自动登陆京东签到领金币功能
![](https://img.aspxhome.com/file/2023/8/72258_0s.jpg)
Scrapy-redis爬虫分布式爬取的分析和实现
![](https://img.aspxhome.com/file/2023/0/76110_0s.png)
windows下mysql 5.7版本中修改编码为utf-8的方法步骤
Python数据结构树与算法分析
![](https://img.aspxhome.com/file/2023/6/135146_0s.png)
python django中8000端口被占用的解决
![](https://img.aspxhome.com/file/2023/5/134435_0s.jpg)
Mysql中使用时间查询的详细图文教程
![](https://img.aspxhome.com/file/2023/0/77210_0s.png)
gVim, gVim Easy, gVim Read-only 的简单区别
js用星投票的示例代码
![](https://img.aspxhome.com/file/UploadPic/200712/29/20071229131618418s.gif)
ASP中汉字与UTF-8的互相转换
Python常用数据类型之列表使用详解
Python上传package到Pypi(代码简单)
python实现简单聊天应用 python群聊和点对点均实现
![](https://img.aspxhome.com/file/2023/4/99424_0s.png)
Python查找算法之分块查找算法的实现
![](https://img.aspxhome.com/file/2023/2/115222_0s.png)
Python基于yield遍历多个可迭代对象
IDEA使用JDBC安装配置jar包连接MySQL数据库
![](https://img.aspxhome.com/file/2023/1/105971_0s.jpg)
asp分段插入数据库
Vuex实现购物车小功能
![](https://img.aspxhome.com/file/2023/4/123934_0s.gif)