自助建站免费信息发布网站网站图片太多怎么优化
2026/4/18 7:21:53 网站建设 项目流程
自助建站免费信息发布网站,网站图片太多怎么优化,网页制作基础教程素材,官方网站做自适应好还是响应式下面从基础到进阶逐步拆解#xff0c;所有示例均可直接运行#xff0c;兼顾原理和实战#xff1a;一、模块的核心定义1.1 什么是模块#xff1f;模块#xff08;Module#xff09;是 Python 中组织代码的基本单元#xff0c;本质是一个以 .py 为后缀的文件#xff08;比…下面从基础到进阶逐步拆解所有示例均可直接运行兼顾原理和实战一、模块的核心定义1.1 什么是模块模块Module是 Python 中组织代码的基本单元本质是一个以.py为后缀的文件比如utils.py里面包含变量、函数、类、可执行代码等。1.2 模块的核心作用代码复用写好的模块可在多个项目 / 文件中导入使用无需重复编写命名空间隔离不同模块的变量 / 函数名可以相同不会互相冲突比如module1.py和module2.py都有add()函数代码结构化将大型项目拆分为多个模块按功能划分如数据处理模块、日志模块、配置模块便于维护。1.3 模块的分类类型说明示例自定义模块开发者自己编写的.py文件my_utils.py内置模块Python 自带的模块无需安装sys、os、json第三方模块需通过 pip 安装的模块社区贡献requests、pandas编译扩展模块用 C/C 编写的二进制模块.so/.pydnumpy的核心模块二、模块的基础使用2.1 创建自定义模块只需新建一个.py文件写入代码即可。示例创建math_utils.py自定义数学工具模块python# math_utils.py 这是一个数学工具模块包含常用的数学函数 # 模块级变量 PI 3.1415926 # 函数 def add(a: int, b: int) - int: 两数相加 return a b def circle_area(r: float) - float: 计算圆的面积 return PI * r * r # 类 class Calculator: 简单计算器类 def multiply(self, a: int, b: int) - int: return a * b # 可执行代码导入时会运行 print(math_utils模块被加载了)2.2 导入模块的 5 种方式导入模块的核心关键字是import和from以下是最常用的 5 种方式均基于上面的math_utils.py演示方式 1导入整个模块推荐避免命名冲突python# main.py # 导入自定义模块 import math_utils # 使用模块中的成员模块名.成员名 print(math_utils.PI) # 输出3.1415926 print(math_utils.add(2, 3)) # 输出5 print(math_utils.circle_area(2)) # 输出12.5663704 # 创建类实例 calc math_utils.Calculator() print(calc.multiply(4, 5)) # 输出20方式 2导入模块并指定别名模块名过长时用python# 给模块起别名 import math_utils as mu print(mu.PI) # 输出3.1415926 print(mu.add(1, 1)) # 输出2方式 3从模块中导入指定成员python运行# 只导入需要的成员无需写模块名前缀 from math_utils import PI, add print(PI) # 输出3.1415926 print(add(3, 4)) # 输出7方式 4从模块中导入成员并指定别名避免成员名冲突python# 给成员起别名 from math_utils import circle_area as ca print(ca(3)) # 输出28.2743334方式 5导入模块的所有成员不推荐易冲突python# 导入所有成员* 表示全部 from math_utils import * print(PI) # 输出3.1415926 print(add(5, 6)) # 输出11⚠️ 缺点如果多个模块有同名成员后导入的会覆盖先导入的难以排查问题。2.3 模块的执行与__name__属性核心原理当直接运行一个.py文件时该文件的__name__变量会被设为__main__当该文件被作为模块导入时__name__变量会被设为模块名比如math_utils。实用场景模块内写测试代码修改math_utils.py添加测试代码python# math_utils.py新增测试代码 # ... 原有代码 ... # 仅在直接运行该文件时执行测试 if __name__ __main__: print(测试math_utils模块...) assert add(2, 3) 5 assert circle_area(2) ≈ 12.566 print(所有测试通过)直接运行math_utils.py会执行测试代码输出「测试 math_utils 模块... 所有测试通过」导入math_utils模块如在main.py中不会执行测试代码仅加载模块。三、模块的搜索路径与加载机制3.1 模块搜索路径Python 导入模块时会按以下顺序查找模块文件当前执行脚本所在目录Python 内置模块目录如Python3xx/Lib第三方模块安装目录如Python3xx/Lib/site-packages环境变量PYTHONPATH指定的目录。查看 / 修改搜索路径pythonimport sys # 查看模块搜索路径列表形式 print(sys.path) # 临时添加自定义路径仅当前运行有效 sys.path.append(/Users/xxx/my_modules) # 替换为你的模块目录3.2 模块加载流程查找按搜索路径查找模块文件如math_utils.py编译如果模块是首次导入会将.py编译为字节码文件.pyc存放在__pycache__文件夹执行执行模块中的代码创建模块对象将变量 / 函数 / 类绑定到模块对象缓存后续导入该模块时直接加载__pycache__中的.pyc文件无需重新编译提升速度。3.3 模块的重新加载默认情况下模块导入后不会重新加载即使修改了模块文件需用importlib.reloadpythonimport math_utils import importlib # 修改math_utils.py后重新加载模块 importlib.reload(math_utils)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询