入门第 16 / 19 节25 分钟 · 实操
上下文管理器 (Context Managers)
Python 课程的一部分
欢迎回来。从第 08 课开始,你一直在写 with open(...) as f:,并且相信代码块结束时文件会被关掉。这一课要把这个盒子打开。你会弄明白 with 语句到底做了什么,以及怎么写自己的上下文管理器,让你手上任何一对"准备"与"收尾"的操作都能搭上同一套语法。
在编辑器里打开 main.py。这个文件用了一个叫 timer 的小型上下文管理器来测量一段代码花了多长时间,然后打印出来。点运行按钮。你应该会看到类似这样的结果 ...
想在真实环境里学习 Python 上下文管理器 (Context Managers) 吗?
点击下方,立即获得一台预装 Python 的 Linux 主机,跟懂你代码的 AI 导师一起完成 上下文管理器 (Context Managers) 的实操练习。
开始这节课上下文管理器 (Context Managers)你将学到什么
- With statement
- __enter__ and __exit__
- Writing your own context manager
- Contextlib.contextmanager
用你的语言阅读本课
本课程的所有课时
19 节- 1你好,Python20 分钟
- 2数字与字符串25 分钟
- 3Asking the User a Question15 分钟
- 4控制流30 分钟
- 5列表与元组30 分钟
- 6字典与集合30 分钟
- 7函数30 分钟
- 8推导式 (Comprehensions)25 分钟
- 9文件与 IO30 分钟
- 10模块与包 (Modules and Packages)30 分钟
- 11类与 OOP35 分钟
- 12继承与组合30 分钟
- 13异常处理30 分钟
- 14迭代器与生成器 (Iterators and Generators)30 分钟
- 15装饰器 (Decorators)30 分钟
- 16上下文管理器 (Context Managers)25 分钟
- 17并发:线程与异步 (Async)40 分钟
- 18使用 pytest 进行测试35 分钟
- 19打包与部署35 分钟
探索其他课程
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
TypeScript
18 节 · 7.7小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
