return_stmt: "return" [expression_list]
return may only occur syntactically nested in a function definition, not within a nested class definition.
If an expression list is present, it is evaluated, else
return leaves the current function call with the expression
None) as return value.
When return passes control out of a try statement with a finally clause, that finally clause is executed before really leaving the function.