rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/(number_of_quads - len(quad_error_outliers))
上面的代码在python中工作正常
但是,如果我尝试使用“/”运算符将上述语句分成两行并调整缩进,它就不起作用。我不知道为什么会这样,因为我已经使用带有 '+' 的多行没有任何问题。
rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/(number_of_quads - len(quad_error_outliers))
上面的代码在python中工作正常
但是,如果我尝试使用“/”运算符将上述语句分成两行并调整缩进,它就不起作用。我不知道为什么会这样,因为我已经使用带有 '+' 的多行没有任何问题。
要在 Python 中使用断线,您需要有左括号:
rectified_mean_quad_error = ((sum_quad_error - sum(quad_error_outliers))/
(number_of_quads - len(quad_error_outliers)))
或用于\
打破:
rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/ \
(number_of_quads - len(quad_error_outliers))
虽然 zch 的回答是完全正确的(我给了它一个 +1,你应该接受它),解决这个问题的惯用方法是打破陈述:
quad_sum_diff = sum_quad_error - sum(quad_error_outliers)
quad_count = number_of_quads - len(quad_error_outliers)
rectified_mean_quad_error = quad_sum_diff / quad_count
这允许你给中间结果起好名字(我只是猜到了名字,但大概你实际上知道它们应该是什么意思),这通常使事情比持续 2 行的表达式更具可读性和滚动离开窗口的右端。
要将这样的内容分成多行,您需要插入 a \
,所以它看起来像:
rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers)) / \
(number_of_quads - len(quad_error_outliers))