Hi list! I'm relatively new to Python, and one thing I can't seem to get over is the lack of in-expression assignments, as present in many other languages. I'd really like to know how Python regulars solve the problems posed by that.
For example, I recently wanted to do this: if callable(f = getattr(self, "cmd_" + name)): # Do something with f elif callable(f = getattr(self, "cmdv_" + name)): # Do something else with f However, since I can't do that in Python, I ended up using an extra local variable instead, like this: f = getattr(self, "cmd_" + name) f2 = getattr(self, "cmdv_" + name) if callable(f): # Do something with f elif callable(f2): # Do something with f2 Another common problem for me are while loops. I would often like to do this: while (pos = somestring.find("/")) != -1: part = somestring[:pos] somestring = somestring[pos + 1:] # Handle part However, that, too, is impossible, and I end up doing something like this: while True: pos = somestring.find("/") if pos == -1: break # ... Which is quite ugly. This might have been a bad example, since somestring.split() could be used instead, but it's still valid for other situations. How would you go about these situations? Thanks for your time! Fredrik Tolf -- http://mail.python.org/mailman/listinfo/python-list