Python 自定义模块示例
下面为你提供一个实用且易理解的Python自定义模块示例,包含模块的编写、导入、调用全流程,同时融入模块的核心特性(如__name__、函数、类、变量),新手可直接复刻学习。
一、第一步:编写自定义模块文件
新建一个名为 calc_utils.py 的文件(这就是我们的自定义模块),写入以下代码:
# calc_utils.py - 简易计算器工具模块
# 模块级变量:定义计算器版本
CALC_VERSION = "1.0.0"
# 模块函数:加法
def add(a, b):
"""
计算两个数的和
:param a: 数字类型(int/float)
:param b: 数字类型(int/float)
:return: 两数之和
"""
return a + b
# 模块函数:乘法
def multiply(a, b):
"""计算两个数的积"""
return a * b
# 模块类:进阶计算器(支持累加、累乘)
class AdvancedCalculator:
def __init__(self):
self.result = 0 # 初始化结果为0
def accumulate(self, num):
"""累加:将num加到当前结果中"""
self.result += num
return self.result
def multiply_accumulate(self, num):
"""累乘:将当前结果乘以num"""
if self.result == 0:
self.result = 1 # 避免初始0乘任何数都是0
self.result *= num
return self.result
# 模块自测代码:仅直接执行模块时运行
if __name__ == "__main__":
# 测试基础函数
print("加法测试:3+5 =", add(3, 5))
print("乘法测试:4×6 =", multiply(4, 6))
# 测试进阶计算器类
calc = AdvancedCalculator()
print("累加1:", calc.accumulate(10))
print("累加2:", calc.accumulate(20))
print("累乘2:", calc.multiply_accumulate(2))
二、第二步:导入并使用该模块
在和 calc_utils.py 同一目录下,新建 test_calc.py 文件(调用模块的主脚本),写入以下代码:
# test_calc.py - 调用自定义计算器模块
# 方式1:导入整个模块,通过模块名调用
import calc_utils
# 访问模块变量
print("计算器版本:", calc_utils.CALC_VERSION)
# 调用模块函数
print("10+20 =", calc_utils.add(10, 20))
print("15×4 =", calc_utils.multiply(15, 4))
# 调用模块类
adv_calc = calc_utils.AdvancedCalculator()
print("累加5:", adv_calc.accumulate(5))
print("累加8:", adv_calc.accumulate(8))
print("累乘3:", adv_calc.multiply_accumulate(3))
# 方式2:导入模块的指定成员,直接调用(更简洁)
from calc_utils import add, AdvancedCalculator
print("7+8 =", add(7, 8))
new_calc = AdvancedCalculator()
print("累加100:", new_calc.accumulate(100))
# 方式3:导入模块并指定别名(适合模块名较长时)
import calc_utils as cu
print("9×9 =", cu.multiply(9, 9))
三、第三步:运行测试脚本
-
直接运行
calc_utils.py:
会执行模块内if __name__ == "__main__"中的自测代码,输出:加法测试:3+5 = 8 乘法测试:4×6 = 24 累加1:10 累加2:30 累乘2:60 -
运行
test_calc.py:
会导入模块并执行调用代码,输出:计算器版本:1.0.0 10+20 = 30 15×4 = 60 累加5:5 累加8:13 累乘3:39 7+8 = 15 累加100:100 9×9 = 81
四、核心知识点说明
- 模块的本质:
.py文件就是模块,里面可包含变量、函数、类、可执行代码; __name__的作用:- 直接运行模块时,
__name__ == "__main__",可写自测代码; - 模块被导入时,
__name__ == 模块名(此处为calc_utils),自测代码不会执行;
- 直接运行模块时,
- 导入方式灵活:
- 导入整个模块:
import 模块名; - 导入指定成员:
from 模块名 import 函数/类/变量; - 导入并加别名:
import 模块名 as 别名;
- 导入整个模块:
- 复用性体现:只要
calc_utils.py在Python搜索路径中,任何项目都能导入使用,无需重复写计算逻辑。
这个示例覆盖了自定义模块的核心用法,你可以在此基础上扩展(比如添加减法、除法函数,或给类增加更多功能),加深对模块的理解。

浙公网安备 33010602011771号