Python模块:创建、导入与高级用法
Python模块
发现如何构建、导入和管理Python模块。学习最佳实践、高级导入技巧和模块搜索路径。
视频:Python模块
观看模块基础深度教程。
什么是Python模块?
模块 就是包含Python语句和定义的文件。例如 example.py 是名为 example 的模块。模块帮你将大程序拆解为可管理、可复用的片段。一次定义通用函数,到处导入使用。
创建小模块。存为 example.py:
# example.py – 简单加法模块
def add(a, b):
"""Return the sum of two numbers."""
return a + b
如何在Python中导入模块
用 import 关键字将模块引入当前命名空间。例如:
>>> import example
通过点运算符访问其内容:
>>> example.add(4, 5.5)
9.5
Python附带丰富标准库。可在 Python标准库 浏览所有模块。
Python导入语句
# 导入标准math模块
import math
print("The value of pi is", math.pi)
The value of pi is 3.141592653589793
重命名导入
# 导入math为简短别名
import math as m
print("The value of pi is", m.pi)
重命名省敲击,但原名(math)不再可用。
Python from…import语句
# 仅从math导入常量pi
from math import pi
print("The value of pi is", pi)
一行导入多个名称:
from math import pi, e
print(pi, e)
导入所有名称
from math import *
print("The value of pi is", pi)
使用 * 不推荐,因污染命名空间且模糊名称来源。
Python模块搜索路径
Python导入模块时按顺序检查:
- 当前目录。
PYTHONPATH环境变量列出的目录。- Python安装特定的默认目录。
用 sys.path 查看路径列表:
import sys
print(sys.path)
# ['', 'C:\Python33\Lib\idlelib', 'C:\Windows\system32\python33.zip', ...]
重新加载模块
模块每解释器会话仅加载一次。重新评估已修改模块,用 importlib.reload()(Python 3中 imp 模块已弃用)。示例:
# my_module.py
print("This code got executed")
>>> import my_module
This code got executed
>>> importlib.reload(my_module)
This code got executed
dir() 内置函数
用 dir() 列出模块所有属性:
import example
print(dir(example))
# ['__builtins__', '__cached__', '__doc__', '__file__', '__name__', 'add']
特殊属性如 __name__ 揭示模块元数据:
print(example.__name__)
# 'example'
无参数调用 dir() 显示当前命名空间所有名称。
Python