如何在Python中写多行长算术表达式? [重复]

问题描述 投票:0回答: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]

如果我只是换行,Python 会给我“缩进”错误。 有没有办法让长表情“适合”屏幕?

python newline code-readability
3个回答
31
投票

我讨厌反斜杠,所以我更喜欢将右侧括在括号中,并在顶级运算符上换行/缩进:

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])

或者(我认为这就是黑色的做法):

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]
)

4
投票

您可以将表达式分成多行,每行以

\
结束,以指示表达式将在下一行继续。

示例:

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]
© www.soinside.com 2019 - 2024. All rights reserved.