教程 python tutorial

模块的导入与创建

模块是 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 会按照以下顺序查找模块:

  1. 当前目录
  2. 环境变量 PYTHONPATH 指定的目录
  3. 标准库目录

可以通过以下方式查看模块搜索路径:

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__" 可以控制模块执行逻辑。
  • 包是一组模块的集合,适用于更复杂的项目结构。