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

Reply via email to