7.6. return 语句
- return_stmt ::= "return" [
expression_list
]
return
在语法上只会出现于函数定义所嵌套的代码,不会出现于类定义所嵌套的代码。
如果提供了表达式列表,它将被求值,否则以 None
替代。
return
会离开当前函数调用,并以表达式列表 (或 None
) 作为返回值。
当 return
将控制流传出一个带有 finally
子句的 try
语句时,该 finally
子句会先被执行然后再真正离开该函数。
在一个生成器函数中,return
语句表示生成器已完成并将导致 StopIteration
被引发。 返回值(如果有的话)会被当作一个参数用来构建 StopIteration
并成为 StopIteration.value
属性。
在一个异步生成器函数中,一个空的 return
语句表示异步生成器已完成并将导致 StopAsyncIteration
被引发。 一个非空的 return
语句在异步生成器函数中会导致语法错误。