else还可以和while一起使用,只有while正常完成时,才进入else执行,如果循环其中有break语句,则不进入else执行
例如:求最大约数
else和异常语句一起使用:如果有异常,则不会进入else执行,否则else执行
try:
int('abc')
except ValueError as reason:
print(''+str(reason))
else:
print('没有任何异常!')
with语句:
抽象出文件操作语句,文件自动关闭
举例:
try:
f=open(filename,'w')
for each_line in f:
print(each_line)
except OSError as reason:
print('出错了')
finally:
f.close()
此时会出错,提示不可读,由finally负责关闭文件,代码很长。不好。
下面利用with改造代码:
try:
with open(filename,'w') as f:
for each_line in f:
print(each_line)
except OSError as reason:
print(' ')
注意有了with,不用finally,自动关注文件什么时候不用了,自动关闭