Newbie question about formatting long conditionals

anton muhin antonmuhin at rambler.ru
Thu Jul 29 06:04:56 EDT 2004


Barney Frank wrote:
>     	I am writing my first application using Python, and there are a 
> couple points in code at which I need a fairly complex if-else block.  
> I've discovered that you can nest compound conditions in parentheses, but 
> I haven't found a way to break a really complex if condition up into 
> multiple lines.  
> 
>     	For example, take this little fake snippet:
> 
> #############
> a = 1
> b = 2
> c = 3
> d = 4
> 
> if a == 1 and b < 4 and (c == 2 or d == 4):
>     print "Conditions met!"
> #############
> 
> 
> 
>     	... if the "if" condition gets too long and unweildy for a single 
> line, is there any way to format it along these lines?:
> 
> #############
> a = 1
> b = 2
> c = 3
> d = 4
> 
> if a == 1 
>   and b < 4 
>   and (c == 2 or d == 4):
>     print "Conditions met!"
> #############
> 
> 

It doesn't answer your question, but still...

I personally prefer to introduce additional variables (in all the 
languages I write) that _explain_ what precisly the condition mean:

isTheWorldGoingToBlow = (a == 1) and (b < 4) ....

if isTheWorldGoingToBlow:

The reason is simple: usually such a long conditions are too complicated 
  for a human to understand without additional hint.

Just my 5 kopecks :),
anton.



More information about the Python-list mailing list