如何在python中用多行编写长算术表达式? [复制]

Posted

技术标签:

【中文标题】如何在python中用多行编写长算术表达式? [复制]【英文标题】:How to write long arithmetic expressions in several lines in python? [duplicate] 【发布时间】: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 建议。如果您将表达式放在() 中,那么您可以打破运算符,例如+ 【参考方案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])

【讨论】:

这似乎是最合法的.. 我讨厌斜线

以上是关于如何在python中用多行编写长算术表达式? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

“算术表达式”是不是允许在 C 中用逗号分隔,或者我们需要为每个单独的语句?

在 Eclipse 中用正则表达式替换多行搜索

在多行中编写单行文本的Pythonic方法是啥[重复]

python基础学习日记注释算术运算符变量的基本使用

如何编码以选择带有复选标记的多行?

编写python高质量python代码的59个有效方法