缩进根据 PEP8 准则使用二进制运算符断开行时出错



我正在尝试按照PEP8指南在Python中缩进以下行:

temperature_rate = (temperature_values[-1] - temperature_values[0])
/ (len(temperature_values) * MONITOR_RATE)

但我在这一行得到一个IndentationError,指出"意外缩进":

/ (len(temperature_values) * MONITOR_RATE)
^
IndentationError: unexpected indent

我尝试以多种方式缩进第二行,但它们都会导致相同的IndentationError。有人可以帮助我理解为什么我在这里收到此错误吗?

有两种方法可以分解长表达式,一种是使用显式行继续符,

temperature_rate = (temperature_values[-1] - temperature_values[0]) 
/ (len(temperature_values) * MONITOR_RATE)

或者,首选方式,使用括号:

temperature_rate = ((temperature_values[-1] - temperature_values[0])
/ (len(temperature_values) * MONITOR_RATE))

请注意,这适用于任何带括号的表达式,这就是为什么您可以编写列表文字,例如:

my_list = ['a',
'b',
'c']

最新更新