根据PEP8指南,使用二元运算符断开一行时出现IndentationError

时间:2017-11-26 21:00:28

标签: python indentation 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。有人可以帮助我理解为什么我在这里收到此错误吗?

1 个答案:

答案 0 :(得分:1)

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

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