In article <[EMAIL PROTECTED]>, Gary Wessle <[EMAIL PROTECTED]> wrote:
> Hi > > is there a way to make an assignment in the condition of "if" and use > it later, e.g. > > nx = re.compile('regex') > if nx.search(text): > funCall(text, nx.search(text)) > > nx.search(text) is evaluated twice, I was hoping for something like > > nx = re.compile('regex') > if x = nx.search(text): > funCall(text, x)) Personally, I find the C-style idiom you long for to be convenient and useful. That being said, it does not exist in Python, by deliberate design decision. In Python, assignment is not an operator with side effects like in C or Java, but a statement. What you need to do is: nx = re.compile('regex') x = nx.search(text) if x: funCall(text, x)) The lack of embedded assignments leads to slightly more verbose code in situations like this, but on the other hand, it avoids the typical C disaster of writing a whole function as a one liner. -- http://mail.python.org/mailman/listinfo/python-list