【问题标题】:How to write long arithmetic expressions in several lines in python? [duplicate]如何在python中用多行编写长算术表达式? [复制]
【发布时间】:2019-05-06 00:45:50
【问题描述】:

我有一个很长的表达式,它'不适合我的屏幕,我想写几行。

new_matrix[row][element] =  old_matrix[top_i][top_j]+old_matrix[index_i][element]+old_matrix[row][index_j]+old_matrix[row][index_j]

如果我只是换行,Python 会给我“缩进”错误。 有没有办法在屏幕上“适应”长表达式?

【问题讨论】:

  • 我认为\会起作用..
  • 请参阅PEP8 建议。如果您将表达式放在() 中,那么您可以打破运算符,例如+

标签: python newline code-readability


【解决方案1】:

是的,使用\

new_matrix[row][element] =  old_matrix[top_i][top_j]+old_matrix[index_i]\ 
                            [element]+old_matrix[row][index_j]+old_matrix[row][index_j]

【讨论】:

    【解决方案2】:

    您可以通过以\ 结束每一行来将表达式分成多行,以指示表达式将在下一行继续。

    例子:

    new_matrix[row][element] =  old_matrix[top_i][top_j]+ \
        old_matrix[index_i][element]+old_matrix[row][index_j]+ \
        old_matrix[row][index_j]
    

    【讨论】:

    • 不宜以与起始段相同的缩进继续一行。
    • 公平点,已编辑。
    【解决方案3】:

    我讨厌反斜杠,所以我更喜欢用括号括起来右手边,并在顶级运算符上中断/缩进:

    new_matrix[row][element] = (old_matrix[top_i][top_j]
                                + old_matrix[index_i][element]
                                + old_matrix[row][index_j]
                                + old_matrix[row][index_j])
    

    【讨论】:

    • 这似乎是最合法的.. 我讨厌斜线
    猜你喜欢
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2013-01-28
    相关资源
    最近更新 更多