12

我有一个很长的功能,如下所示:

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

我想将它分成两行,但不确定在 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 回答