SuperAPI AI 工具集

python-style-guide

编程与开发

查看项目

更新于 10-15 16:46

技能介绍

用途:该技能提供一套基于 Google Python Style Guide 的编码规范,供 Claude 在编写 Python 代码或审查代码风格时参考,目标是产出干净、可维护的代码。

主要能力与规则: 导入:仅对包和模块使用 import,不直接导入类或函数;导入分标准库、第三方、应用自身三组,组内按字母排序;使用绝对导入,每行一条导入(typing 或 collections.abc 的多项除外)。 异常:不吞掉错误,禁止裸 except 与 pass;捕获后记录并重新抛出。 类型注解:标注所有公共 API 与函数签名;Python 3.9+ 使用内置类型(list、dict)而非 typing.List;直接导入 typing 符号;使用 None 而非 NoneType。 默认参数:禁止使用可变对象作默认值,改用 None 并在函数内初始化。 布尔判断:优先隐式判断,如 if not users;不与 True/False 显式比较。 推导式与生成器:用于简单场景,复杂逻辑改用普通循环。 Lambda:仅用于一行表达式,复杂逻辑定义具名函数。 风格:行长上限 80 字符(导入、URL、不可拆分长字符串可例外);每级缩进 4 空格,不使用制表符;顶层定义间空两行,方法间空一行。 命名:模块 lower_with_under,类 CapWords,函数/方法 lower_with_under(),常量 CAPS_WITH_UNDER,私有前导下划线;避免单字符名(计数器 i、j、k 除外)、连字符。 文档字符串:公共模块、函数、类、方法使用 Google 风格 docstring,包含 Args、Returns、Raises 等段。 字符串:优先 f-string,也接受 % 与 .format;拼接字符串不推荐用 +。 日志:使用 % 格式以实现惰性求值,不用 f-string。 资源:文件操作始终使用 with 上下文管理器。 语句:避免一行多条语句;可执行脚本使用 if name == "main": main() 结构。 函数长度:保持专注,超过约 40 行考虑拆分。 类型进阶:前向引用用字符串引号;复杂类型用 TypeAlias 起别名;TypeVar 使用描述性名称;泛型需指定类型参数。 Lint:对所有 Python 代码运行 pylint(命令 pylint),仅在必要时抑制警告并写明理由。

使用方式:作为技能加载后,在 Claude 编写或审查 Python 代码时按上述规则执行;核心原则是与周围既有代码保持一致,把这些规则作为默认值。

适用场景:Python 项目的代码编写、代码审查、统一团队风格、补充类型注解与文档字符串。

限制:资料未提供该技能的安装方式、收费信息、运行环境与具体版本支持范围,暂未提供。附加参考文件 references/advanced_types.md、references/antipatterns.md、references/docstring_examples.md 可在需要详细参考时查阅。