开发者学堂课程【Python 入门 2020年版: Finally 关键字的使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10415
Finally 关键字的使用
内容介绍:
一、Finally 关键字的使用
二、Finally 注意事项
一、Finally 关键字的使用
1. 第一种
file = open(‘../02-视频/03-练习3.mp4’,‘rb’)
//只读二进制形式
while True:
content = file.read(1024)
if not content:
break
print(content)
print('文件被关闭了')
file.close()
利用 py 也可以运行命令,Ctrl+c 可以停止运行,但是文件未关( close )使用以下方法可关闭文件。但如果点击左侧红点方块,则会无法关闭文件。
2. 第二种
file = open(‘../02-视频/03-练习3.mp4’,‘rb’)
//只读二进制形式
try:
while True:
Content = file.read(1024)
if not content:
break
print(content)
finally:
//最终都会被执行的代码
print('文件被关闭了')
file.close()
二、Finally 注意事项:
def test(a,b)
x=a+b
return x
//一旦 return 就表示函数结束,后面代码就不会被执行。
return ‘hello’
//这段代码不会被执行,一般情况下,一个函数最多只能执行一个 return 语句,特殊情况( finally 语句)下,一个函数可能会执行多个 return 语句
例如:
def demo(a,b):
try:
x=a/b
except ZeroDivisionError:
print('除数不能为0')
return x
print(demo(1,2))
//结果为 0.5
print(demo(1,0))
//运行结果为除数不能为 0,x 的值不存在,所以不能执行。
解决方式如下:(添加 else )
def demo(a,b):
try:
x=a/b
except ZeroDivisionError:
print('除数不能为0')
//用 return 就可以不用 else.
else:
return x
print(demo(1,2))
//结果为 0.5
print(demo(1,0))
//运行结果为除数不能为 0
//用 return 就可以不用 else.
return('除数不能为0')
return x
def demo(a,b):
try:
x=a/b
except ZeroDivisionError:
Return’除数不能为0'
else:
return x
finally:
return 'good'
print(demo(1,2))
//结果为 good ,如果函数里有 finally,finally 里的返回值会覆盖之前的返回值,两个 return 都会被运行。
print(demo(1,0)) 结果也为 good