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))

三、第三步:运行测试脚本

  1. 直接运行 calc_utils.py
    会执行模块内 if __name__ == "__main__" 中的自测代码,输出:

    加法测试:3+5 = 8
    乘法测试:4×6 = 24
    累加1:10
    累加2:30
    累乘2:60
    
  2. 运行 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
    

四、核心知识点说明

  1. 模块的本质.py 文件就是模块,里面可包含变量、函数、类、可执行代码;
  2. __name__ 的作用
    • 直接运行模块时,__name__ == "__main__",可写自测代码;
    • 模块被导入时,__name__ == 模块名(此处为 calc_utils),自测代码不会执行;
  3. 导入方式灵活
    • 导入整个模块:import 模块名
    • 导入指定成员:from 模块名 import 函数/类/变量
    • 导入并加别名:import 模块名 as 别名
  4. 复用性体现:只要 calc_utils.py 在Python搜索路径中,任何项目都能导入使用,无需重复写计算逻辑。

这个示例覆盖了自定义模块的核心用法,你可以在此基础上扩展(比如添加减法、除法函数,或给类增加更多功能),加深对模块的理解。

posted @ 2025-11-26 19:51  哈希技术  阅读(10)  评论(0)    收藏  举报