1
rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers))/(number_of_quads - len(quad_error_outliers))       

上記のコードはPythonで問題なく動作します

しかし、上記のステートメントを '/' 演算子を使用して 2 行に分割し、インデントを調整しようとすると、うまくいきません。「+」を使用した複数行を問題なく使用したため、なぜそうなのかわかりません。

4

3 に答える 3

2

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))
于 2013-01-17T00:42:27.277 に答える
1

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 行にわたって続く式よりもはるかに読みやすくなります。ウィンドウの右端からスクロールします。

于 2013-01-17T00:55:55.003 に答える
0

このようなものを複数の行に分けるには、 を挿入する必要がある\ため、次のようになります。

rectified_mean_quad_error = (sum_quad_error - sum(quad_error_outliers)) / \
                            (number_of_quads - len(quad_error_outliers)) 
于 2013-01-17T00:42:47.200 に答える