2014-01-24 60 views
0

我無法在PEP 8樣式指南中找到答案。 是否有可能通過使用圓括號而不是反斜槓來分解長的for語句?分手冗長的語句

下將導致語法錯誤:

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

回答

2

如果長的部分是拆包,我只想避免它:

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: 

如果很長,那麼你可以結合這些約定。

+0

我覺得這個答案更具可讀性。 –

3

是的,你可以在in關鍵字後用括號:

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

在你的問題,因爲貼了,你不小心掉落開幕括號,這會導致您收到的語法錯誤。