Python 技能树(云原生预备 / 运维自动化方向)26-06-04(为期3-4个月)


Python 技能树(云原生预备 / 运维自动化方向)

0. 核心原则

  • 优先掌握能直接写脚本的知识点
  • 每个知识点都要能产出可运行的代码片段
  • 后续补上工程证据规范(README、测试、日志)

第一层:语言基础(必须扎实)

0. Python 运行环境

  • 版本区别(只用 Python 3)
  • 交互式与脚本运行
  • 默认 UTF-8 编码

1. 变量与运算符

  • 命名规则(下划线命名,PEP8)
  • 多变量赋值、交换赋值
  • 算术运算符 + - * / // % **
  • 比较运算符 > < >= <= == !=
  • 赋值运算符 += -=
  • 逻辑运算符 and or not
  • 成员运算符 in / not in
  • 身份运算符 is / is not(了解与 == 区别)

2. 标准数据类型

  • Number:int, float, bool(complex 不学)
  • String:定义、不可变、切片、转义、原始字符串 r''
  • List:可变、增删改查、排序、列表推导式
  • Tuple:不可变、单元素逗号、索引
  • Dictionary:key-value、增删改查、遍历
  • Set:去重、基本运算(交集并集差集)
  • None:空值判断

3. 字符串专项

  • 基础运算:+ 拼接、* 重复
  • 内置方法:split, strip, upper/lower, replace, join, find, startswith
  • 格式化输出:f-string 为主(f"Hello {name}"),了解 %.format()

4. 流程控制

  • if / elif / else
  • 三元表达式 a if cond else b
  • while 循环
  • for 循环(遍历可迭代对象)
  • break, continue, pass

5. 函数与作用域

  • 定义函数 def,返回值 return
  • 参数:位置、关键字、默认值
  • 不定长参数 *args(元组)、**kwargs(字典)
  • 变量作用域:局部、全局(global
  • 文档注释(docstring)

6. 模块与包

  • 导入方式 import, from ... import ...
  • __name__ == '__main__' 入口判断
  • 自定义模块、__init__.py 概念

7. 文件操作

  • 打开文件 open(路径, 模式, encoding)
  • 模式:r / w / a / b / r+
  • 读取:read(), readline(), readlines()
  • 写入:write()
  • 关闭文件 close()
  • with 上下文管理器(自动关闭)

8. 异常处理

  • try / except / else / finally
  • 捕获具体异常类型
  • raise 主动抛出异常

9. 面向对象(基础)

  • 类与实例 class, __init__, self
  • 实例属性、实例方法
  • 简单封装(单下划线 _ 约定)
  • (可选)继承基本语法,了解 super()
  • (不要求)多态、抽象类

第二层:脚本工具能力(运维自动化必备)

10. 正则表达式(基础)

  • re.search / re.match / re.findall
  • 分组 group()
  • 常用模式:\d 数字、\w 单词、\s 空白、. 任意字符
  • 数量词 + * ? {n,m}

11. 时间处理

  • datetime 模块:datetime.now, datetime.strptime, datetime.strftime
  • time 模块:time.sleep, time.time
  • 计算耗时(开始结束时间差)

12. 路径与系统接口

  • pathlibPath, cwd, mkdir, glob, read_text, write_text
  • os 模块:os.getcwd, os.listdir, os.path(或直接用 pathlib)
  • syssys.argv 命令行参数,sys.exit 退出码

13. 命令行参数解析

  • argparse(推荐)或 typer(更简洁)
  • 必需参数、可选参数、标志位
  • --help 自动生成

14. 日志记录

  • logging 模块:basicConfig, debug/info/warning/error
  • 输出到文件和控制台
  • 不同级别的作用

15. 数据格式处理

  • jsonjson.loads, json.dumps, 读写 .json 文件
  • csv:读取和写入 CSV 文件
  • (可选)yaml 基本加载(需安装 PyYAML)

16. 执行系统命令

  • subprocess 模块:subprocess.run()
  • 获取 stdout, stderr, returncode
  • 安全使用(避免 shell=True 注入风险)

17. HTTP 请求(requests)

  • requests.get(), requests.post()
  • 设置 timeout, headers, params
  • 异常处理:ConnectionError, Timeout, HTTPError
  • 重试策略基础(结合循环或 urllib3.Retry

18. 虚拟环境与依赖管理

  • venv 创建隔离环境
  • 激活/退出虚拟环境
  • pip install 安装包
  • pip freeze > requirements.txt
  • pip install -r requirements.txt

19. 测试基础

  • pytest 基本用法
  • 断言 assert
  • 运行测试,查看结果

20. 迭代器与生成器(概念级)

  • 可迭代对象(能用 for 的都是)
  • 生成器:惰性求值,用 yield 写简单生成器(可选)
  • 理解“不要一次性读大文件”思想

21. 多线程与并发(基础)

  • threading.Threadstart(), join()
  • 线程锁 Lock 防止资源竞争(简单了解)
  • 更推荐:concurrent.futures.ThreadPoolExecutor 实现 I/O 并发
  • 注意:多线程适合网络请求、文件读写等 I/O 密集型任务

第三层:运维自动化项目能力(综合运用)

22. 典型项目清单(至少完成2-3个)

  • 日志分析 CLI(读文件,正则提取,统计错误率,输出 JSON/CSV)
  • HTTP 健康检查工具(并发检查 URL 列表,超时重试,记录日志)
  • 文件批处理工具(批量重命名、移动、按日期归档)
  • 配置检查工具(读取 YAML/JSON,验证必要字段)
  • 端口/服务检测工具(socket 连接测试,进程是否存在)

23. 脚本工程规范(逐步建立)

  • 每个项目有 README.md(目的、用法、示例、局限性)
  • 使用 argparsetyper 提供友好命令行接口
  • 日志输出到文件,保留 run.log
  • 关键函数有 pytest 测试(至少 3 个用例)
  • 异常处理返回非零退出码(sys.exit(1)
  • 依赖写在 requirements.txt,使用 venv 隔离

附录:不建议学习的内容(现阶段)

  • complex 复数
  • 深拷贝细节(遇到再查)
  • 装饰器高级用法(看懂简单 @ 即可)
  • 继承与多态深度设计
  • 爬虫框架(Scrapy)
  • 数据分析库(numpy, pandas)
  • GUI(tkinter, PyQt)
  • asyncio 异步编程(后续按需)

使用说明:可将此清单作为学习检查表,每完成一项打勾。第二层的 10–21 是对原清单的重要补充,务必掌握。完成第二层后,即可尝试第三层的项目,积累证据。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
foollisher
下载 APP