在Python中,`finally`关键字用于定义一个代码块,这个代码块的特点是无论`try`块中的代码是否引发异常,或者在`try`块中执行了`return`、`break`、`continue`等控制流语句,`finally`子句中的代码都会被执行。`finally`通常与`try`和`except`一起使用,形成一个`try-except-finally`结构,用于确保在程序退出前执行一些清理操作,比如释放资源、关闭文件等。
下面是一个简单的例子来说明`finally`的用法:

try:尝试执行的代码块f = open('/tmp/output', 'w')f.write('hello')raise Exception('something wrong') 可以取消注释引发异常except Exception as e:发生异常时要执行的代码段print(f"An exception occurred: {e}")else:未发生异常会执行的代码段print("No exception occurred")finally:无论是否发生异常,都会在最后执行一次的代码段print("closing file")f.close()
在这个例子中,无论`try`块中是否发生异常,`finally`块中的`print("closing file")`和`f.close()`都会被执行,确保文件被正确关闭
