You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PEP-8规范中带联合类型的默认参数格式要求是什么?

Python联合类型默认参数的规范写法

先明确几个核心代码风格规范:

  1. 联合类型的|运算符两侧必须加空格(PEP604规定,Python 3.10+支持的str | None语法),不需要额外加括号,除非是为了明确优先级的复杂场景。
  2. 类型注解的冒号:后面必须加空格。
  3. 默认参数的等号格式:目前主流规范(包括自动格式化工具Black的规则)是在类型注解后的默认参数等号两侧加空格,这也是最易读且符合现代Python代码风格的写法。

针对你给出的三种写法:

  • def foo(bar: str | None=None):|两侧的空格符合要求,但默认参数等号无空格,虽在旧版PEP8规则中允许,但可读性稍差,不是最优选择。
  • def foo(bar: str | None = None):完全符合现代Python规范,|两侧有空格、类型注解冒号后有空格、默认参数等号两侧有空格,是最标准的写法。
  • def foo(bar: (str | None)=None):括号完全多余,PEP604明确联合类型无需额外括号,这种写法不符合规范。

内容的提问来源于stack exchange,提问作者GrandeKnight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 14:25:00