首先介绍一下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来引用
到此这篇关于python中的import、from import及import as的区别解析的文章就介绍到这了,更多相关python import from import内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!