On Tue, Mar 30, 2010 at 1:08 PM, John Nagle <na...@animats.com> wrote:
> Chris Rebert wrote: > >> On Tue, Mar 30, 2010 at 8:40 AM, gentlestone <tibor.b...@hotmail.com> >> wrote: >> >>> Hi, how can I write the popular C/JAVA syntax in Python? >>> >>> Java example: >>> return (a==b) ? 'Yes' : 'No' >>> >>> My first idea is: >>> return ('No','Yes')[bool(a==b)] >>> >>> Is there a more elegant/common python expression for this? >>> >> >> Yes, Python has ternary operator-like syntax: >> return ('Yes' if a==b else 'No') >> >> Note that this requires a recent version of Python. >> > > Who let the dogs in? That's awful syntax. > > John Nagle > > -- > http://mail.python.org/mailman/listinfo/python-list > I wouldn't say that. It reads exactly how one would say it. I prefer this over the ? semantics. Whenever I see that, my mind goes "Does a equal b? If so, return this, otherwise return that". "Return this if a equals b, otherwise return that" is much more direct and declaritive IMHO.
-- http://mail.python.org/mailman/listinfo/python-list