主题
模块的导入与创建
模块是 Python 中组织代码的一种方式,它可以让代码结构更加清晰、可复用性更强。本章将介绍如何导入标准模块、自定义模块,以及模块的组织结构和搜索路径。
什么是模块
模块是一个以 .py
结尾的 Python 文件,其中包含了变量、函数、类等定义。通过模块,我们可以把相关功能组织在一起,便于管理和调用。
导入模块的方式
Python 提供多种方式导入模块:
python
import math
print(math.sqrt(16)) # 输出:4.0
from math import sqrt
print(sqrt(25)) # 输出:5.0
import math as m
print(m.pi) # 输出:3.141592653589793
模块的搜索路径
当导入模块时,Python 会按照以下顺序查找模块:
- 当前目录
- 环境变量
PYTHONPATH
指定的目录 - 标准库目录
可以通过以下方式查看模块搜索路径:
python
import sys
print(sys.path)
创建自定义模块
我们可以自己编写 .py
文件作为模块:
mymodule.py
python
def greet(name):
return f"Hello, {name}!"
然后在其他文件中使用它:
python
import mymodule
print(mymodule.greet("Python"))
使用 __name__ == "__main__"
控制模块行为
可以使用以下语法,让模块在被导入时不执行某些代码:
python
def main():
print("模块被直接运行")
if __name__ == "__main__":
main()
当模块作为脚本直接运行时,__name__
为 "__main__"
;作为模块被导入时,__name__
为模块名。
包(Package)的概念
包是包含 __init__.py
文件的目录,它可以包含多个模块,形成一个命名空间结构:
mypackage/
├── __init__.py
├── module1.py
└── module2.py
使用方式:
python
from mypackage import module1
总结
- 模块是组织代码的重要工具,支持导入与重用。
- Python 支持多种导入语法,也允许创建自己的模块。
- 使用
__name__ == "__main__"
可以控制模块执行逻辑。 - 包是一组模块的集合,适用于更复杂的项目结构。