1

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

以下将导致语法错误:

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

2 回答 2

6

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

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:

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

于 2014-01-24T09:53:39.347 回答
4

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

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

在您发布的问题中,您不小心丢弃了左括号,这会导致您遇到语法错误。

于 2014-01-24T09:31:10.217 回答