return
return 在语法上只会出现于函数定义所嵌套的代码,不会出现于类定义所嵌套的代码。
如果提供了表达式,它将被求值,否则以 None 替代(类似省略 return 语句结果)。
return 会离开当前函数调用,并以表达式的值 (或 None) 作为返回值。
当 return 将控制流传出一个带有 finally 子句的 try 语句时,该 finally 子句会先被执行然后再真正离开该函数。
def f2():
x =1
print(f2())
None
def f1():
x = 1
return
print(f1())
None
# return 结束函数调用
def f(x):
return x**2
print('end') # retrun 结束函数调用,不会被执行
f(2)
4
# finally 总是被执行再结束函数调用
def f(x):
try:
return 3/x
except ZeroDivisionError as e:
print(e)
finally:
return x, x**2
f(0),f(2)
division by zero
((0, 0), (2, 4))