Conditional operator in Python?
Donn Cave
donn at u.washington.edu
Tue Sep 4 18:24:24 EDT 2001
Quoth thp at cs.ucr.edu:
| I don't see why, say
|
| if by_land():
| lantern_count = 1
| elif by_sea():
| lantern_count = 2
| else:
| lantern_count = 0
|
| should be more readable than, say
|
| lantern_count =
| if by_land() : 1
| elif by_sea() : 2
| else : 0
|
| or simply
|
| lantern_count = if by_land(): 1 elif by_sea(): 2 else: 0
No, next you'll want
lantern_count = if by_land(): (
if by_bicycle(): 1 elif by_automobile(): 4 elif by_foot(): 5
) elif by_sea(): 2 else: 0
Now replace "0", "1" etc. with non-trivial computations.
| Lambda abstraction is a powerful feature that needs to be supported
| with a selection operator. The ?: notation is not the only option
| for such a ternary operator.
Sure you can't just "def" an ordinary function with a name?
Scheme would be a great language to do stuff like that, I bet.
Donn Cave, donn at u.washington.edu
More information about the Python-list
mailing list