[Tutor] Readabilty vs 80 characters

Peter Otten __peter__ at web.de
Thu Apr 19 16:00:45 CEST 2012


Tino Dai wrote:

> Hi!
> 
>      I have a question about style. In PEP-8, it says don't exceed 79
> characters, but can this rule ever be trumped by
> readability?
> 
> Eg.
> 
> 
>      if someobject.filter(something) \
>           .filter(somethingreallyreallyreallyreallylong ==
> somethingelsereallyreallylong) \
>           .filter(othethingreallylongreallyreally ==
> ternarythingreallyreallyreallylong) \
>           .filter(thirdthingreallylessreallymaybelong ==
> thirdotherthingreallylong) \
>           .first():
>           < do something >
> 
>       if someobject.filter(something) \
>           .filter(somethingreallyreallyreallyreallylong == \
>                somethingelsereallyreallylong) \
>           .filter(othethingreallylongreallyreally == \
>               ternarythingreallyreallyreallylong ) \
>           .filter(thirdthingreallylessreallymaybelong == \
>                thirdotherthingreallylong) \
>           .first():
>           < do something >
> 
> 
> The first example is more readable to me but violates the 80 character
> rule. The second is less readable, but doesn't violate
> the 80 character rule.
> 
> Is there a guideline or convention that pythonistas follow about this
> style case?

I would give you a thoughtful answer, but I am currently facing a serious 
problem myself: my stretch limo doesn't fit into my garage. Should I drive 
through the back wall or block the street with the part that sticks out?

Seriously, learn that you don't need backslashes if you put the expression 
into parens, precalculate parts of the expression and put them into 
temporary variables -- and if that doesn't suffice to keep the code readable 
and below the 80 char threshold reread the part of the PEP with the Emerson 
quote ("A foolish consistency...").




More information about the Tutor mailing list