Ternary operator alternative in Ptyhon
Allen
brian_vanderburg2 at yahoo.com
Wed Jun 18 02:53:15 EDT 2008
kretik wrote:
> I'm sure this is a popular one, but after Googling for a while I
> couldn't figure out how to pull this off.
>
> Let's say I have this initializer on a class:
>
> def __init__(self, **params):
>
> I'd like to short-circuit the assignment of class field values passed in
> this dictionary to something like this:
>
> self.SomeField = \
> params.has_key("mykey") ? params["mykey"] : None)
>
> Obviously I know this is not actual Python syntax, but what would be the
> equivalent? I'm trying to avoid this, basically:
>
> if params.has_key("mykey"):
> self.SomeField = params["mykey"]
> else:
> self.SomeField = None
>
> This is not a big deal of course, but I guess my main goal is to try and
> figure out of I'm not missing something more esoteric in the language
> that lets me do this.
>
> Thanks in advance.
The syntax is a bit different, but:
result = (true_value if condition else false_value)
is how it is in Pytthon:
self.SomeField = (params['mykey'] if params.has_key('mykey') else None)
Brian Vanderburg II
More information about the Python-list
mailing list