
模块module
逻辑聚合:将相关的变量、函数、类整合到一个文件中,便于管理和维护 代码复用:通过导入其他模块,可以直接使用其功能,避免重复代码 命名空间隔离:模块的作用域可以避免全局命名冲突,提升代码的安全性和可信度
1. 使用
2. 使用
3. 使用
1.
2.
有助于代码复用 提高代码可维护性 方便多人协作 模块间避免命名冲突 学习成本较高 某些情况下增加了代码重构难度
灵活的模块管理 防止全局命名冲突 方便按需加载模块
初始化包文档 自动加载子模块
模块和包的文件结构
发布日期:2021-05-15 04:57:44
浏览次数:15
分类:精选文章
本文共 2119 字,大约阅读时间需要 7 分钟。
Python 模块与包
对于 Python 开发者而言,模块和包是组织代码、管理代码功能的重要工具。模块和包的协同使用能使代码更加结构清晰,提升复用性和可维护性。本文将深入探讨模块与包的基础知识、使用方法以及实际应用案例。
一、模块的定义与作用
模块是 Python 的核心构建单元,包含变量、函数、类等逻辑组件。模块文件通常以 .py
结尾。模块的主要作用有以下几种:
二、模块的分类
模块可以按使用场景分为以下几类:
内置模块(Built-ins)
内置模块是 Python 解析器内部预定义的模块,直接可供使用,例如math
、sys
、time
等。 标准库模块
在 Python 安装时随标准库一并安装的模块,例如random
、datetime
等。 第三方模块
由开发者或社区开发的开源库,需要手动安装,例如numpy
、pandas
等。 自定义模块
开发者自己编写的模块,可以作为第三方模块供他人使用。三、模块的导入方式
在 Python 中,模块可以通过以下几种方式导入:
1. 使用 import
语句
语法:
import 模块1 [as 模块新名1], 模块2[as 模块新名2]
示例:
import mathimport sys, os
目的:将模块整体导入当前环境,可以使用模块的属性和功能如 math.sin(1)
。
2. 使用 from import
语句
语法:
from 模块名 import 模块属性名1 [as 属性新名1], 模块属性名2 [as 属性新名2]
示例:
from math import sinfrom math import pifrom math import factorial as fac
目的:仅导入模块中的特定属性,提升代码代码清晰度。
3. 使用 from import *
语句
语法:
from 模块名 import *
示例:
from math import *
目的:将模块中的所有属性一次性导入当前环境,便于快速调用。
四、模块的属性与方法
模块具有以下几个重要属性:
__name__
- 被导入的模块,名称为模块文件名去除路径和
.py
后缀 - 主模块,名称为
__main__
__doc__
__all__
from 模块名 import *
语句导入 五、模块的隐藏属性
模块中以 _
或 __
开头、结尾的属性不会通过 from 模块名 import *
导入,常用于内功。
例如:
__ hidden attribute
六、标准库模块详解
1. math
模块
数学计算的基础模块,提供:
- 变量:
e
(自然对数底数),pi
(圆周率) - 函数:
ceil(x)
(向上取整),floor(x)
(向下取整),sqrt(x)
(平方根)
例子:
import mathprint(math.ceil(1.2)) # 输出 2print(math.floor(-1.2)) # 输出 -2
2. time
模块
处理时间的模块,提供以下变量和功能:
time.time()
:返回当前时间(秒),以 UTC 为准time.sleep(secs)
:让程序暂停指定秒数
操作时区相关函数:
time.gmtime(secs)
:将秒数转换为 UTC 时间元组time.localtime(secs)
:转换为本地时间元组
七、模块的优缺点
优势:
局限性:
八、包(Package)概念
包是将多个模块组织在一起的文件夹,通过 __init__.py
文件实现包行为。例如:
project/├── __init__.py├── menu.py├── games/│ ├── __init__.py│ └── contra.py└── supermario.py
包的作用:
包的导入方式:
import 包名 [as 包名别名]
import 包名.子包名.模块名 [as 模块别名]
__init__.py
文件
包的启动文件,启动时自动执行:
九、模块与包的加载路径
模块和包的加载路径由以下因素决定:
sys.path
列表PYTHONPATH
环境变量例:
sys.path = [ '/root/project', '/usr/lib/python3.10',]
通过以上知识,开发者可以更有效地组织和管理代码,充分发挥模块与包的优势,同时优化代码结构和可读性。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月09日 08时38分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python3之list去重
2019-03-12
HDU A + B Problem II
2019-03-12
mask遮罩
2019-03-12
LiteOS学习(一)任务
2019-03-12
随笔-调试小技巧
2019-03-12
PCL 点到面的ICP精配准(线性最小二乘优化)
2019-03-12
PCL 无序点云的三角剖分
2019-03-12
解决宝塔安装wordpress无法连接到数据库问题
2019-03-12
多选组件aSwitch——属性选择系列组件库(design by yRan)
2019-03-12
PAT乙级 15分题目总结
2019-03-12
1rem等于多少px (rem和px怎样转换)
2019-03-12
h5移动端旋转90度自适应网页
2019-03-12
vue.js 横向(时间轴、步骤图、流程图)模版
2019-03-12
解决Eclipse加载图片或网页出现404错误
2019-03-12
a标签实现下载本地文件的功能
2019-03-12
vue 错误收集
2019-03-12
了解简单的JQ
2019-03-12
ROS进阶---ROS机器人自主导航
2019-03-12