Python导入模块的六种常见方式与注意事项
本文系统梳理了Python中导入模块的六种常见方式,包括直接导入模块与包、导入特定模块、使用别名以及from...import语句。重点解析了包结构中__init__.py的作用、sys.path路径配置及命名空间冲突风险,帮助开发者掌握规范的代码组织与引用技巧。
一、直接导入模块
使用 `import 模块名` 语句进行导入。
这种方式的优势在于代码结构清晰、直接。
import sys
print(sys.path)
import os # os是一个模块
import os.path # 注意这里的os.path是一个模块
二、直接导入包
使用 `import 包名` 语句进行导入。
若仅导入包,调用时无法通过 . 访问模块,但可以直接访问 __init__.py 文件中定义的类和函数。
import bs4 # 注意这里bs4是一个包!
soup = bs4.BeautifulSoup(...) # 可以访问到包中__init__.py下的类和函数
import Mypack
# Mypack.fun.func() 会报错,找不到fun模块,需要使用方法3或6来导入特定模块
三、导入包中的一个模块
使用 `import 包名.模块名` 语句进行导入。
关于包使用的关键注意事项
- 必须确保包(文件夹)位于
sys.path列表中的某个目录下;若不在其中,需利用该列表的append方法将其路径追加进去。 - 在包目录内必须包含一个
__init__.py文件以标识其为包,该文件内容可以为空。在__init__.py中定义的函数和类,在仅导入包时即可被访问(例如,仅导入bs4包时,可直接使用BeautifulSoup类,但无法直接访问包内的其他模块)。
import sys
sys.path.append(r"E:\\")
import Mypack.fun
Mypack.fun.func()
四、导入模块并取别名
使用 `import 模块名 as 别名` 语句进行导入。
其优点在于别名更便于记忆和使用。
import sys as s
print(s.path)
import Mypack.fun as f
f.func()
五、从模块(或者包)中取出特定函数(不建议)
使用 `from 模块名(包名) import 函数名` 语句进行导入。
其优点是可以直接获取特定函数,无需再添加命名空间前缀。
其缺点是因缺乏命名空间限制,容易导致命名冲突和代码混乱。
from sys import setrecursionlimit
setrecursionlimit(500)
from bs4 import BeautifulSoup # 这里取出了bs4包中__init__.py文件中的BeautifulSoup类
soup = BeautifulSoup(...)
此外,还可以使用通配符导入模块中的所有函数,且调用时无需添加命名空间。
from sys import *
setrecursionlimit(500)
六、从包中取出特定模块
使用 `from 包名 import 模块名` 语句进行导入。
其优点在于相比方法3,在调用时可以少写包名前缀。
from Mypack import fun
fun.func()
到此这篇关于Python中常见的导入方式总结的文章就介绍到这了,更多相关Python常见导入方式内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









