ternary operator

Carlos Ribeiro cribeiro at mail.inet.com.br
Fri Feb 7 06:23:07 EST 2003


On Friday 07 February 2003 04:15 am, David LeBlanc wrote:
> 	if a > b and c < d():
> 		print e
>
> d() might never get called. Not good if d() does something you depend on.

But is just perfect in some cases (common in programs that rely on short 
circuiting) where the evaluation of d() depends upon some condition that is 
tested first. The usual case is something like this:

if a <> 0 and c < (b/a):
	print e

That's just to point out why short-circuiting might be useful. Anyway, it's a 
religious debate over the choice of short-circuiting x full evaluation, and 
there are *lots* of good arguments from both sides. Performance wise, short 
circuiting will be faster, and probably a bit safer in 'normal' situations.


Carlos Ribeiro





More information about the Python-list mailing list