SuperAPI AI 工具集

python

编程与开发

查看项目

更新于 10-16 04:08

技能介绍

Google Python Style Guide 是 Google 官方的 Python 编码规范,在 PEP 8 基础上进行扩展,用于统一 Python 代码的书写风格。

用途 该指南用于规范 Python 代码的编写与审查,可作为团队编码标准,也可用于配置 lint 工具规则和帮助新成员快速了解项目约定。

主要能力与规则要点

  • 以 PEP 8 为基线,Google 指南在其之上扩展。
  • 所有公开函数和方法使用类型注解。
  • 使用 4 空格缩进,不使用制表符。
  • 最大行长度为 80 个字符。
  • 所有公开模块、函数、类和方法必须编写文档字符串。
  • 优先使用推导式而非 map()/filter()。
  • 使用 f-string 进行字符串格式化(Python 3.6+)。

命名约定

  • 模块:snake_case,例如 user_service.py
  • 类:UpperCamelCase,例如 UserService
  • 函数/方法:snake_case,例如 get_user_by_id
  • 变量:snake_case,例如 user_count
  • 常量:UPPER_SNAKE_CASE,例如 MAX_RETRIES
  • 受保护成员:单下划线前缀,例如 _internal
  • 私有成员:双下划线前缀,例如 __private

类型注解 公开函数应标注参数与返回类型,例如 def get_user(user_id: int) -> Optional[dict];缺少类型注解被视为不正确。

文档字符串(Google 风格) 文档字符串应包含 Args、Returns、Raises 等段落,说明参数、返回值与可能抛出的异常。

导入 导入顺序为:标准库、第三方库、本地模块,各组之间空行分隔;每行一个导入,禁止通配符导入(如 from os.path import *)。

字符串格式化 使用 f-string,例如 f"Hello, {name}!";避免使用字符串拼接或 % 格式化。

推导式 使用列表/字典推导式,例如 [x ** 2 for x in range(10)]、{user.id: user for user in users};避免用 map()/filter() 配合 lambda。

异常处理 捕获具体异常,例如 except json.JSONDecodeError as e,并使用 raise ... from e 保留原因;禁止裸 except 和静默 pass。

默认参数 禁止使用可变默认参数(如 items: List[str] = []),应使用 None 作为默认值并在函数体内初始化。

常见错误对照

  • 可变默认参数 → 使用 None 作为默认值
  • 通配符导入 → 仅显式导入
  • 裸 except → 捕获具体异常
  • % 或 .format() 字符串 → 使用 f-string
  • map()/filter() → 使用推导式
  • 缺少文档字符串 → 添加 Google 风格文档字符串
  • 缺少类型注解 → 为公开函数添加注解

适用场景 编写新的 Python 代码、重构现有 Python 代码、代码评审、设置 lint 规则(pylint、flake8)、新团队成员上手。

安装 npx skills add testdino-hq/google-styleguides-skills/python

完整指南 完整细节、示例与边界情况参见 python.md。