Python进阶-Day5:模块与包
学习目标
- 掌握创建和导入自定义模块的方法。
- 理解 __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 官方文档,了解更多关于模块和包的知识。