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)
For years, Python did not have such a thing, but recent versions support
the syntax
a if c else b
In spite of the odd ordering of that parts, they are executed (or not)
just as you like.
self.SomeField = params["mykey"] if params.has_key("mykey") else None
Gary Herron
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.
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list