Python 高级
项目:插件化命令行工具
就练这三个:装饰器、生成器、上下文管理器。
- 用装饰器实现命令注册
- 用生成器处理数据流
- 构建可扩展的CLI工具
项目设计
就做一个插件化的文本处理工具。
用装饰器注册命令
用生成器管道处理文本
用上下文管理器管理资源
完整实现
示例代码(可运行)
Python 0%
预测输出
d = {}
def reg(name):
def w(f): d[name]=f; return f
return w
@reg("hi")
def f(): return "hello"
print(d["hi"]())填空题填写空白处的代码
def pipe(text):
for line in text.split("\n"):
line.strip()
选择题
命令注册模式的核心是?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
with 语句等价于 try/finally:无论正常结束还是中途抛异常,退出时都会执行清理(关文件、释放锁、断开连接)。实现方式有两种:类里写 __enter__/__exit__,或用 contextlib.contextmanager 把生成器变成上下文管理器。凡是「打开了必须关闭/获取了必须释放」的资源,都应该用 with 托管。
挑战任务
CLI工具
简单+50 XP
实现支持upper/lower/count/reverse命令的文本工具。
CLI工具
Python 0%
2 个测试用例
课后作业
更多插件
中等+20 XP
添加find/replace/统计词频命令。
更多插件
Python 0%
1 个测试用例