Skip to main content
 首页 » 编程设计

Python、PEP-8 和多行字典格式化

2025年05月04日10jillzhang

我必须在 Python 中声明一些 dict。我写了这样一段代码:

class MegaClass(object): 
    _activation_grad_classes = \ 
    { 
        activation.ForwardStrictRELU: activation.BackwardStrictRELU, 
        activation.ForwardLog: activation.BackwardLog, 
        activation.ForwardSinCos: activation.BackwardSinCos 
    } 

并得到 PEP-8 错误:E122 continuation line missing indentation or outdented。

我该如何解决?

请您参考如下方法:

将左大括号放在赋值行上:

_activation_grad_classes = { 
    activation.ForwardStrictRELU: activation.BackwardStrictRELU, 
    activation.ForwardLog: activation.BackwardLog, 
    activation.ForwardSinCos: activation.BackwardSinCos 
} 

在 Python 中很少需要使用 \ 来转义换行符;而是使用 {..}、[..] 和 (..) 跨多行对表达式进行分组。