Python中的with...as语法
来源:互联网 发布:重庆鸿巨网络名企好吗 编辑:程序博客网 时间:2024/06/05 19:49
这个语法是用来代替传统的try...finally语法的。
with EXPRESSION [ as VARIABLE]
WITH-BLOCK
其中,EXPRESSION表达式返回一个“Content Manager”的子类给VARIABLE。Content Manager规定了__enter__和__exit__方法,这段代码的执行顺序是:
1. 执行EXPRESSION表达式,返回一个Content Manager的子类对象(记为O)给VARIABLE变量,
2. 调用O的__enter__方法
3. 执行WITH-BLOCK
4. 若WITH-BLOCK抛出异常,则执行O的__exit__(type,value,traceback),三个参数的值定义了异常的类型、值和调用堆栈。
5. 若WITH-BLOCK未抛出异常成功结束,则执行O的__exit__(type,value,traceback),三个参数的值为空。
这样做简化了传统的try...finally语法,更多详细内容请看OReilly的《Learning Python第四版》第33章
- Python中的with...as语法
- Python中的with…as…语法
- 理解Python中的With...as...语法
- Python中的with…as…语法
- Python中的with…as…语法
- python with as语法
- python with as语法
- python with..as 语法
- python with as语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 理解Python中的with…as…语法
- 充分利用 Xerces-C++,第 2 部分 (from IBM) 2011.06.07
- 说说IO - IO的分层
- UpdatePanel中用后台调用Javascript
- 装饰模式 Decorator
- [cygwin]cygwin常用命令及find命令说明
- Python中的with...as语法
- 代理模式Proxy
- 2011-06-07 shell脚本学习
- 工厂方法模式 Factory Method
- 【转】插件式设计的架构模型与实例
- 业界资讯:flash player 10.3 debug 发布
- ARM中断异常处理的返回
- 原型模式-Prototype
- 访问者模式 Visitor