Conditional Expressions in Python 2.4
Steven Bethard
steven.bethard at gmail.com
Fri Jun 2 14:21:08 EDT 2006
A.M wrote:
> Do we have the conditional expressions in Python 2.4?
bruno at modulix wrote:
> No, AFAIK they'll be in for 2.5
Yep:
Python 2.5a2 (trunk:46491M, May 27 2006, 14:43:55) [MSC v.1310 32 bit
(Intel)] on win32
>>> "Yes" if 1 == 1 else "No"
'Yes'
> In the meanwhile, there are (sometime trickyà ways to get the same result:
>
> a = 1 == 1 and "Yes" or "No"
> a = ("No", "Yes")[1 == 1]
And just to give some examples where the conditional expression will
show a difference::
>>> True and 0 or []
[]
>>> 0 if True else []
0
>>> def f():
... print "don't evaluate me"
... return 'f'
...
>>> def g():
... return 'g'
...
>>> (f(), g())[True]
don't evaluate me
'g'
>>> g() if True else f()
'g'
STeVe
More information about the Python-list
mailing list