I found something like this in a StackOverflow discussion. >>> def paradox(): ... try: ... raise Exception("Exception raised during try") ... except: ... print "Except after try" ... return True ... finally: ... print "Finally" ... return False ... return None ... >>> return_val = paradox() Except after try Finally >>> return_val False
I understand most of this. What I don't understand is why this returns False rather than True. Does the finally short-circuit the return in the except block? -- https://mail.python.org/mailman/listinfo/python-list