This is a very old post, but since I just though I would like a conditional return like this, and checked for previous proposals, I thought I'd give my opinion.
Unfortunately only about 8 of the 67 replies actually answer the question, and there isn't any overwhelming consensus to if a conditional return would be good or not. Most (if not all) people dislike the syntax though, and I agree. So, my proposal would be the syntax: return if <expr> That is more pythonic than return?, does not involve a new keyword, and is "human readable" in a way similar to e.g the ternary statement. //jek tue 12 apr 2011 zildjohn01 wrote: > I propose the following syntax: > > return? expr > > be expanded to > > _temp = expr > if _temp: return _temp As a side note, for the syntax of a cache, that was discussed a bit, I sometimes to use: try: return cache[key] except KeyError: ret = cache[key] = compute(key) return ret In my limited test it is a bit quicker than both "if x in cache" and "v=cache.get(x)" (~ 0.9, 1.1 and 1.3 seconds) Though it might depend on the hash complexity and the number of cache hits vs misses, so I guess either syntax would do fine. -- https://mail.python.org/mailman/listinfo/python-list