python中的import、fromimport及importas的区别解析

Calandra ·
更新时间:2024-11-10
· 1766 次阅读

首先介绍一下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内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!



import Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号