执行下面 Python 代码后,输出的结果是?( ) def test_function(): try: return "From try" finally: print("From finally", end="#") print(test_function(), end="#")
A:From try#
B:From finally#
C:From try#From finally#
D:From finally#From try#
正确答案:D
答案解析
函数执行时首先进入 try 块,遇到 return 语句不会立即返回,而是继续执行 finally 块中的代码。finally 块中 print 输出内容并以 '#' 结尾,不中断流程。待 finally 执行完毕后,再将 try 块中的 return 值返回给函数调用处。函数调用处的 print 接收到返回值后输出,并以 '#' 结尾。整个过程中,return 的值在 finally 执行前已确定,但实际返回发生在 finally 完成之后。
试卷来源:202606 CCF-GESP编程能力等级认证Python四级真题