ternary operator
David LeBlanc
whisper at oz.net
Thu Feb 6 23:15:46 EST 2003
More information about the Python-list mailing list
Thu Feb 6 23:15:46 EST 2003
- Previous message (by thread): ternary operator
- Next message (by thread): ternary operator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
<snip> > What exactly do you mean by "short circuiting conditionals"? > > I thought it just meant something like C's ternary operator. > Algol 60 had something like that. You could say > > x = if a>=0 then sqrt(a) else sqrt(-a); > > which would take the square root of the absolute value of a. > Short circuiting just means the non-selected branch doesn't get evaluated. Incorrect. Short circuiting refers to a complex conditional aborting evaluation as soon as it fails (technically, as soon as the result is determinable), as in: if a > b and c < d: print e If a <= b then c will never be evaluated against d: that's the short circuit. Life gets "interesting" if there is a side effect in the unevaluated portion of the conditional: if a > b and c < d(): print e d() might never get called. Not good if d() does something you depend on. Dave LeBlanc Seattle, WA USA
- Previous message (by thread): ternary operator
- Next message (by thread): ternary operator
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list