PEP8:当在同一行中有多个函数导致字符> 80时怎么办?

时间:2014-08-11 19:54:26

标签: python coding-style conventions pep8

例如:

connections['default'].get_unified_index().get_index(Tag).update_object(tag).update('default')

什么是最好的选择?

此?

        connections['default'] \
            .get_unified_index() \
            .get_index(Tag) \
            .update_object(tag) \
            .update('default')

此?

    connections['default'].get_unified_index().get_index(Tag) \ 
        .update_object(tag).update('default')

其他?当然我看起来也遵循pep8规则,但也试图实现最可读的代码。谢谢!

2 个答案:

答案 0 :(得分:2)

我可能会把它写成(注意括号和缺少尾部反斜杠):

    (connections['default']
        .get_unified_index()
        .get_index(Tag)
        .update_object(tag)
        .update('default'))

或者将其分成几个连续的陈述。

答案 1 :(得分:1)

除非您实际上是在攻击Python本身,否则您应该可以自由地采用超过80的最大行长度。

Pep8实际上有你的问题的答案,它既不是你显示的选项:打破括号内的行,或将整个表达式括在括号中,这样你就可以在点处打破这条线。