模块的定位:高级封装形式
- 回顾之前的封装类型
- 容器:列表、元组、字符串、字典 → 对数据的封装
- 函数:对语句的封装
- 类:对方法和属性的统一封装 → 函数+数据
- 模块的定义:模块就是程序;以
.py为后缀的Python文件即独立模块
核心概念:命名空间
- 概念类比:避免名字冲突(如不同班级同名的"小花")
- 作用:模块中的函数/变量需通过模块名.成员名调用,明确归属
- 示例问题:直接调用
high()报错 → 需用hello.high()指定命名空间
模块的导入方法
- 直接导入:import 模块名
- 语法:import temperature_conversion
- 调用方式:模块名.函数名(如
temperature_conversion.c_to_f(32)) - 特点:保留命名空间,避免名字冲突
- 导入指定成员:from 模块名 import 函数/变量
- 语法:from temperature_conversion import c_to_f, f_to_c
- 调用方式:直接写函数名(如
c_to_f(32)) - 注意:不推荐用
from 模块名 import *→ 会破坏命名空间,引发名字混乱
- 导入并别名:import 模块名 as 别名
- 语法:import temperature_conversion as tc
- 调用方式:别名.函数名(如
tc.c_to_f(32)) - 特点:简化模块名,保留命名空间 → 推荐使用
实战示例:温度转换模块
- 模块文件:temperature_conversion.py
- 定义函数
c_to_f(c):摄氏度转华氏度(公式:f = c*1.8 +32) - 定义函数
f_to_c(f):华氏度转摄氏度(公式:c = (f-32)/1.8)
- 定义函数
- 调用文件:calculation.py → 导入模块后调用函数,输出转换结果