Python学习笔记 --- with as 使用方法
2017-04-26 12:08
309 查看
with as 是一个代替的用法,这个语法是用来代替传统的try...finally语法的。
基本思想是with所求值的对象必须有一个__enter__()方法,一个__exit__()方法。
紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面返回对象的__exit__()方法。
类似于
用try...except实现:
用with as 实现:
基本思想是with所求值的对象必须有一个__enter__()方法,一个__exit__()方法。
紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的代码块全部被执行完之后,将调用前面返回对象的__exit__()方法。
类似于
用try...except实现:
# -*- coding:utf-8 -*- file = open("/temp/foo.txt") try: date = file.read() finally: file.close()
用with as 实现:
with open("/tmp/foo.txt") as file: data = file.read()
相关文章推荐
- Python学习笔记 --- 类中方法的使用
- python菜鸟笔记--python关于json对象的使用方法学习
- Python学习笔记 --- @staticmethod 和 @classmethod方法的使用
- numpy.zeros(np.zeros)使用方法--python学习笔记31
- numpy.zeros 使用方法 python学习笔记1
- Python FLask Web 学习笔记:jinjia2的使用方法1
- python学习笔记4:多进程和多线程的使用方法和区别
- selenium学习笔记- selnium.RunScript(string script) 方法的使用 及有关自动化测试文本编辑器未解决的问题
- [ASP.NET学习笔记之四]数据集的使用方法和技巧
- Domino学习笔记之@for和@elements的使用方法
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- 【原创】Asp.net MVC 学习笔记之-为什么使用Html.TextBox方法会出现异常?
- [学习笔记]使用py2exe打包python程序
- 正则表达式入门经典(学习笔记二)——使用正则表达式的分析方法
- Mars Android视频学习笔记——01_16_SQLite使用方法
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- Log4net学习笔记及部分使用方法
- Python学习笔记-XML大文件的XSD验证方法
- Python学习笔记十二:列表(4)--len 、in、For的使用