【Python基础】with语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011240016/article/details/84961986

上下文管理器

只有理解了上下文管理器,才能更好理解with的工作原理。

上下文管理协议,这个协议主要包含两个方法:

  • __enter__()
  • __exit__()

协议一般是管定标准的,具体执行要落实到对象,而支持上下文管理协议的对象必须要实现上面的两个方法。

上下文管理器

实现了上面提到的__enter__()__exit__()方法的支持上下文管理的对象。

通常使用with语句来调用上下文管理器。

运行时上下文

由上下文管理器创建。__enter__()进入运行时上下文,__exit__()退出运行时上下文。

上下文表达式
跟在with后面的表达式,这个表达式要反悔一个上下文管理器对象。

语句体
with语句包裹起来的代码块。执行语句体前调用上下文管理器的__enter__()方法,执行完毕后,调用`exit()方法。

以文件打开关闭作为例子:

with open('test.csv') as f:
	for line in f:
		print(line)

with语句结束后,都可以关闭文件句柄。

END.

猜你喜欢

转载自blog.csdn.net/u011240016/article/details/84961986