Python 适合 API 调用、数据处理和中等复杂度自动化。学习路线应从数据类型、控制流、函数、异常和模块开始,再进入文件、HTTP、并发和测试。
## 基础结构
```python
from pathlib import Path
def read_hosts(path: str) -> list[str]:
hosts = []
for line in Path(path).read_text(encoding="utf-8").splitlines():
value = line.strip()
if value and not value.startswith("#"):
hosts.append(value)
return hosts
if name == "__main__":
for host in read_hosts("hosts.txt"):
print(host)
```
字符串不可变;列表有序可变;元组有序不可变;字典保存键值;集合适合去重。不要用可变对象作为函数默认参数。
## 虚拟环境
不要通过修改系统软链接强行替换发行版默认 Python,系统工具可能依赖它。每个项目使用独立环境:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
```
始终使用 python -m pip 确保 pip 对应当前解释器。升级前查看项目与依赖支持的 Python 版本。
## pip 源
临时指定:
```bash
python -m pip install -i https://pypi.org/simple PACKAGE
```
企业镜像应通过 TLS、认证、恶意包扫描和同步审计。不要为解决证书错误永久加入 trusted-host,也不要从未知镜像安装同名包。
## 异常、日志和超时
网络请求必须设置连接与读取超时,捕获具体异常并设置有限重试。使用 logging,不用 print 记录生产事件;日志包含目标和结果,但对 Token、密码和个人信息脱敏。
## 自动化安全
- subprocess 使用参数列表和 check=True,避免拼接 shell=True。
- JSON/YAML 用专用库解析。
- Secret 从环境或 Secret 管理器读取,不写源码。
- 文件操作使用 pathlib 和明确目录。
- 删除与批量修改支持 dry-run 和输入校验。
- API 调用具备分页、限速、幂等和重试策略。
## 工程质量
使用 ruff/flake8、black、mypy(按需)和 pytest。requirements 锁定版本并扫描漏洞;在 CI 中运行测试。脚本变成长期服务后要增加配置、健康检查、指标、优雅退出和部署规范。
Python 3.14 文档已包含最新教程,但生产项目应选择自身依赖支持的版本,而不是无条件升级到最新解释器。
参考:https://docs.python.org/3/tutorial/