Правильный способ ввода длинных вызовов функций на несколько строк
Я имею длинную функцию, как показано ниже:
hash_correct = hashlib.md5(salt + password)).digest().encode("base64")
Я хотел бы разделить его на две строки, но я не уверен в правильном способе сделать это в Python?
Благодарю.
Руководства по кодированию, ограничивающие длину строк, частично, чтобы сделать код более читаемым. В вашем случае прикомандированных вызовов метода значение не ясно. Вы должны выбрать некоторые временные имена переменных для промежуточных значений, чтобы читатель кода мог легко понять цепочку.
Одним из примеров может быть:
safe_md5 = hashlib.md5(salt + password) crypto_hash = safe_md5.digest() hash_correct = crypto_hash.encode('base64')
Это приводит читателя к садовому пути к пониманию. Очень мало теряется в производительности, и дополнительный код используется для цели.
Предпочитаю ответ Чарльза Меррама, но я думал, что это стоит того, чтобы работать, но некрасиво и быть обескураженным. Потому как '.' является лексическим разделителем , работало:
>>> '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]'
но не делайте этого.
- Шрифты по умолчанию в визуализации статистических данных Seaborn в iPython
- Импорт модулей Python – Явный и неявный относительный импорт