Python进阶-Day5:模块与包

liftword3周前 (04-09)技术文章3

学习目标

  • 掌握创建和导入自定义模块的方法。
  • 理解 __name__ == "__main__" 的用途和原理。
  • 能够创建一个简单的模块化计算器程序。

学习内容与任务

1. 理论学习

  • 自定义模块:在 Python 中,一个 .py 文件就是一个模块。通过创建模块,可以将代码组织成更小、更易于管理的部分,提高代码的复用性。
  • 模块导入:使用 import 语句可以导入其他模块中的函数、类或变量。可以使用 import module_name 或 from module_name import function_name 等方式进行导入。
  • __name__ == "__main__":__name__ 是 Python 的一个内置变量,它表示当前模块的名称。当一个 Python 文件作为脚本直接运行时,__name__ 的值为 "__main__";当它作为模块被导入时,__name__ 的值为模块的名称。因此,__name__ == "__main__" 可以用来判断一个模块是被直接运行还是被导入。

2. 创建和导入自定义模块示例

步骤 1:创建一个自定义模块 创建一个名为 math_operations.py 的文件,内容如下:

# 定义一个加法函数
def add(a, b):
    return a + b

# 定义一个减法函数
def subtract(a, b):
    return a - b

# 定义一个乘法函数
def multiply(a, b):
    return a * b

# 定义一个除法函数
def divide(a, b):
    if b == 0:
        print("Error: Division by zero!")
        return None
    return a / b

# 使用 __name__ == "__main__" 来判断是否直接运行该模块
if __name__ == "__main__":
    # 如果直接运行该模块,进行一些测试
    result = add(2, 3)
    print(f"2 + 3 = {result}")

代码解释:

  • 定义了四个基本的数学运算函数:add、subtract、multiply 和 divide。
  • if __name__ == "__main__": 块中的代码只有在该模块作为脚本直接运行时才会执行。这里进行了一个简单的加法测试。

步骤 2:导入自定义模块 创建另一个名为 main.py 的文件,内容如下:

# 导入自定义模块 math_operations
import math_operations

# 使用导入模块中的函数进行计算
result_add = math_operations.add(5, 3)
result_subtract = math_operations.subtract(5, 3)

print(f"5 + 3 = {result_add}")
print(f"5 - 3 = {result_subtract}")

代码解释:

  • import math_operations 语句导入了 math_operations 模块。
  • 通过 math_operations.add() 和 math_operations.subtract() 调用了模块中的函数。

3. 实践项目:创建一个简单的模块化计算器程序

步骤 1:创建一个计算器模块 创建一个名为 calculator.py 的文件,内容如下:

# 定义加法函数
def add(a, b):
    return a + b

# 定义减法函数
def subtract(a, b):
    return a - b

# 定义乘法函数
def multiply(a, b):
    return a * b

# 定义除法函数
def divide(a, b):
    if b == 0:
        print("Error: Division by zero!")
        return None
    return a / b

# 定义一个主函数,用于处理用户输入和调用相应的运算函数
def main():
    while True:
        print("请选择操作:")
        print("1. 加法")
        print("2. 减法")
        print("3. 乘法")
        print("4. 除法")
        print("5. 退出")
        choice = input("请输入你的选择 (1/2/3/4/5): ")

        if choice == '5':
            break

        num1 = float(input("请输入第一个数字: "))
        num2 = float(input("请输入第二个数字: "))

        if choice == '1':
            result = add(num1, num2)
            print(f"{num1} + {num2} = {result}")
        elif choice == '2':
            result = subtract(num1, num2)
            print(f"{num1} - {num2} = {result}")
        elif choice == '3':
            result = multiply(num1, num2)
            print(f"{num1} * {num2} = {result}")
        elif choice == '4':
            result = divide(num1, num2)
            if result is not None:
                print(f"{num1} / {num2} = {result}")
        else:
            print("无效的选择,请重新输入。")

# 使用 __name__ == "__main__" 来判断是否直接运行该模块
if __name__ == "__main__":
    main()

代码解释:

  • 定义了四个基本的数学运算函数。
  • main 函数用于处理用户的输入,根据用户的选择调用相应的运算函数,并输出结果。
  • if __name__ == "__main__": 块确保 main 函数只有在该模块作为脚本直接运行时才会执行。

步骤 2:使用计算器模块 创建一个名为 use_calculator.py 的文件,内容如下:

# 导入 calculator 模块
import calculator

# 调用 calculator 模块中的 main 函数
calculator.main()

代码解释:

  • import calculator 语句导入了 calculator 模块。
  • calculator.main() 调用了 calculator 模块中的 main 函数,启动计算器程序。

学习建议

  • 仔细阅读代码注释,理解每个步骤的作用。
  • 尝试修改和扩展自定义模块和计算器程序,加深对模块和包的理解。
  • 查阅 Python 官方文档,了解更多关于模块和包的知识。

相关文章

了解 Python 最常见的内置函数

Python 的内置函数基础Python 的内置函数是该语言不可或缺的一部分,无需额外的库即可提供基本功能。这些函数始终可用,无需导入任何模块即可使用。它们是在 C for CPython(标准 Py...

8-Python内置函数

Python 提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

Python用内置模块来构建REST服务、RPC服务

1写在前面和小伙伴们分享一些Python 网络编程的一些笔记,博文为《Python Cookbook》读书后笔记整理博文涉及内容包括: TCP/UDP服务构建 不使用框架创建一个REST风格的HTTP...

一文掌握Python 内置数据结构

列表Python 没有数组数据结构(大小固定),相反,它有一个列表数据结构,它是一个动态数组,可以存储混合数据类型的值。与传统数组相比,它具有优势,例如不必指定大小和混合数据类型。当创建列表时,内部会...

Python常用的内置函数介绍

Python提供了许多内置函数,这些函数可以直接使用而无需导入任何模块。下面是一些常用的Python内置函数的介绍:1. `print()`用于将指定的内容输出到控制台。可以打印文本、变量、表达式等。...