with: 语法格式: with open(‘666.txt’) as f: f.read() 执行顺序: 先对紧跟with后的语句求值,返回对象的__enter__()被调用,as后的变量将被赋值为这个方法的返回值,当with后代码被全部执行完或者遇到异常需要退出之后,将调用前面返回对象的__exit__() enter(self)
exit(self,type,value,trace) 优点: with使代码更简洁优雅
①监控异常:print(type)可以打印出抛出的异常
②处理异常:
def exit(self,type,value,traceback):
return isinstance(value,TypeError)
会跳过所有的TypeError,而会正常抛出其他异常
③清理资源,关闭文件等操作也被放在__exit()__方法中