我的功能很长,如下所示:
hash_correct = hashlib.md5(salt + password)).digest().encode("base64")
我想将它分成两行,但我不确定在Python中执行此操作的正确方法?
感谢。
答案 0 :(得分:20)
限制行长度的编码指南部分是为了使代码更具可读性。在你的链式方法调用的情况下,意义不明确。您应该为中间值选择一些临时变量名称,以便代码的读者可以轻松地理解链。
一个例子可能是:
safe_md5 = hashlib.md5(salt + password)
crypto_hash = safe_md5.digest()
hash_correct = crypto_hash.encode('base64')
这引导读者走上理解的花园之路。性能损失很小,附加代码全部用于目的。
答案 1 :(得分:3)
更喜欢查尔斯·梅拉姆(Charles Merram)的回答,但我认为值得注意的是工作但丑陋并且气馁。因为'。'是一个词汇delimiter,以下工作:
>>> '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]'
但不要这样做。