Skip to main content
 首页 » 编程设计

python之使 python 忽略简单数学方程式中的缩进,这些方程式放置在带有缩进的多行上

2025年05月04日15cyq1162

我有一个奇怪的复杂数学公式,为了更好地理解,我缩进了它,如下所示:

EIET = IET 
       + (TLBHR * {(1-PFR) * (TLBT + MAT) 
                   + PFR   * (TLBT + MAT + PFT) 
                  } 
         ) 
       + (TLBMR * {(1-PFR) * (TLBT + MAT * (NPT + 1)) 
                   + PFR   * (TLBT + MAT * (NPT + 1) + PFT) 
                  } 
         ) 

然后我运行它才意识到它导致了意外的缩进。我怎样才能保留这些缩进以更好地理解方程式并仍然在 python 中执行它而不会出现缩进错误?

请您参考如下方法:

根据 PEP-8,首选方法是将整个内容括在括号中。

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation.

Backslashes may still be appropriate at times. For example, long, multiple with-statements cannot use implicit continuation, so backslashes are acceptable:

source

此外,您不能将大括号 {} 用作方括号。使用括号代替 ()

EIET = (IET 
       + (TLBHR * ((1-PFR) * (TLBT + MAT) 
                   + PFR   * (TLBT + MAT + PFT) 
                  ) 
         ) 
       + (TLBMR * ((1-PFR) * (TLBT + MAT * (NPT + 1)) 
                   + PFR   * (TLBT + MAT * (NPT + 1) + PFT) 
                  ) 
         ))