一、模块基础学习笔记

一、模块基础学习笔记

2026-02-21
Python基础
type
Post
status
Published
date
Feb 21, 2026
slug
python-module-basics-notes-1
summary
模块就像是把代码分类装进不同的抽屉,需要时直接打开对应的抽屉,代码管理变得井井有条!
tags
category
Python基础
icon
password
💡 学习感悟:模块就像是把代码分类装进不同的抽屉,需要时直接打开对应的抽屉,代码管理变得井井有条!

1. 什么是模块?

模块是一个包含 Python 代码的文件(.py 文件),可以被其他程序导入使用。
📝 我的理解:模块就像是工具箱——把锤子、螺丝刀、扳手分类放好,用的时候直接拿,不用在一堆工具里翻找。

2. 为什么使用模块?

2.1 代码复用


2.2 代码组织


2.3 命名空间隔离

📝 我的理解:模块就像是姓氏——张伟和李伟都叫"伟",但加上姓氏就不会混淆了。

3. 模块的执行方式

3.1 作为脚本直接运行


3.2 作为模块被导入

📝 我的理解__name__ 就像是身份证——直接运行时显示"main",被导入时显示模块名。

3.3 __name__ 的作用


4. Python 标准库模块

4.1 常用内置模块

📝 我的理解:标准库就像是瑞士军刀——Python自带的工具,开箱即用,功能强大!

4.2 标准库速查

模块
用途
常用功能
os
操作系统
getcwd(), mkdir(), path.exists()
sys
系统参数
argv, version, exit()
math
数学计算
pi, sqrt(), ceil(), floor()
random
随机数
randint(), choice(), shuffle()
datetime
日期时间
now(), strftime(), timedelta
json
JSON处理
loads(), dumps()
re
正则表达式
match(), search(), findall()
collections
高级容器
Counter, deque, defaultdict

5. 模块搜索路径

5.1 模块查找顺序


5.2 添加自定义搜索路径

⚠️ 注意:临时添加的路径只在当前程序运行期间有效!

6. 踩坑记录

6.1 循环导入

⚠️ 踩坑:A导入B,B又导入A,会导致循环导入错误!解决方案是延迟导入或重构代码。

6.2 模块名冲突

⚠️ 踩坑:不要把自己的文件命名为标准库模块名(如 random.py, json.py),否则会覆盖标准库!

6.3 修改模块后未生效

⚠️ 踩坑:修改模块文件后,已导入的模块不会自动更新,需要重新加载或重启解释器!

7. 核心知识点整理

7.1 模块执行流程


7.2 __name__ 判断

当我在某个模块中写了该模块的测试代码,那么当我在其它py文件中导入它时该测试代码会被执行.但是我不想执行,但是我又不想删除,也不想注释,太麻烦了.例如我在模块中写了该模块的测试代码.这时就可以通过这个if __name__ == "__main__":进行判断.

7.3 模块开发需要注意的

  1. 文件名:全小写,可用下划线(如 my_module.py
  1. 避免冲突:不要与标准库模块同名
  1. 文档字符串:模块开头写清楚功能说明
  1. 主程序保护:使用 if __name__ == "__main__":
  1. 最小导入:只导入需要的内容
推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...