61

PEP8に従って次のコードをフォーマットする最良の方法は何ですか?

oauth_request = oauth.OAuthRequest.from_consumer_and_token(consumer,
    token=token, verifier=verifier, http_url=ACCESS_TOKEN_URL)

問題は、最初の行に複数のパラメーターを配置すると、その行が79文字を超えることです。各パラメーターを4つのスペースインデントのある別々の行に配置すると、非常に見苦しく見えます。

oauth_request = oauth.OAuthRequest.from_consumer_and_token(
    consumer,
    token=token,
    verifier=verifier,
    http_url=ACCESS_TOKEN_URL)

私が思いついた最良のオプションは、区別しやすくするためにインデントを追加することです。

oauth_request = oauth.OAuthRequest.from_consumer_and_token(
                        consumer,
                        token=token,
                        verifier=verifier,
                        http_url=ACCESS_TOKEN_URL)

私は、最初の行で長い呼び出しがあり、1行に収まらないいくつかのパラメーターを持つメソッドにそれを使用するための一般的なルールを考え出そうとしています。

4

1 に答える 1

40

ドキュメントを読んだところ、2 と 3 の両方が受け入れられることが示唆されていますが、2 が優先されているようです (例では 2 対 3 がこのように処理されているように見えるため、これを言います。スタイルの仕様はここでは非常に具体的です)。1 が出ています (行の下のドキュメントを見てくださいArguments on first line forbidden when not using vertical alignment)

于 2011-07-07T11:40:14.277 に答える