12

以下に示すように、私には長い機能があります。

hash_correct = hashlib.md5(salt + password)).digest().encode("base64")

2行に分割したいのですが、Pythonでこれを行う正しい方法がわかりませんか?

ありがとう。

4

2 に答える 2

21

行の長さを制限するコーディング ガイドラインは、部分的には、コードを読みやすくするためにあります。チェーンされたメソッド呼び出しの場合、意味は明確ではありません。コードの読者がチェーンを簡単に理解できるように、中間値の一時変数名をいくつか選択する必要があります。

一例は次のとおりです。

safe_md5 = hashlib.md5(salt + password)
crypto_hash = safe_md5.digest()
hash_correct = crypto_hash.encode('base64')

これにより、読者は庭の道をたどって理解することができます。パフォーマンスの損失はほとんどなく、追加のコードはすべて目的のために追加されています。

于 2010-03-31T04:22:35.870 に答える
3

チャールズ・メラムの答えを好むが、私はこれが機能しているが醜いものとして注目する価値があり、落胆していると思った。なぜなら '。' は字句区切り文字であり、次のように機能します。

>>> 'abc def' . split()
['abc', 'def']
>>> 'abc def' . \
... split()
['abc', 'def']
>>> sys.version
'2.6.4 (r264:75706, Dec  7 2009, 18:45:15) \n[GCC 4.4.1]'

しかし、それをしないでください。

于 2010-03-31T04:34:01.710 に答える