分手陈述

时间:2014-01-24 09:25:43

标签: python for-loop pep8 long-lines

我在PEP 8风格指南中找不到答案。 是否有可能通过使用圆括号而不是反斜杠来分解长for语句?

以下将导致语法错误:

for (one, two, three, four, five in
     one_to_five):
    pass

2 个答案:

答案 0 :(得分:4)

如果长篇部分是拆包,我会避免它:

for parts in iterable:
    one, two, three, four, five, six, seven, eight = parts

或者如果真的很长:

for parts in iterable:
    (one, two, three, four,
     five, six, seven, eight) = parts

如果iterable是一个长表达式,你应该在循环之前将它放在一行

iterable = the_really_long_expression(
               eventually_splitted,
               on_multiple_lines)
for one, two, three in iterable:

如果两者都很长,那么你可以合并这些约定。

答案 1 :(得分:3)

是的,您可以在in关键字后使用括号:

for (one, two, three, four, five) in (
                    one_to_five):
    pass

在您提出的问题中,您不小心删除了左括号,导致出现语法错误。