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 Noneis substituted.
return leaves the current function call with the expression
list (or 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.