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

2 投票
1 回答
5420 浏览
提问于 2025-04-18 09:57

我需要在Python中声明一些dict(字典)。我写了这样的代码:

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

结果出现了一个PEP-8错误:E122 续行缺少缩进或缩进不正确

我该怎么解决这个问题呢?

1 个回答

11

把打开的大括号放在赋值的那一行:

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

在Python中,很少需要用\来转义换行符;相反,可以使用{..}[..](..)来把表达式分成多行。

撰写回答