class Foo: def __init__(self,name): self.name = name def __enter__(self): print('执行enter') return self def __exit__(self, exc_type, exc_val, exc_tb): ...
分类:
编程语言 时间:
2020-01-12 15:18:08
阅读次数:
91
一.使用场景我们经常在进行文件操作时使用with语句来进行操作,这就关系到了上下文管理协议了。二.使用在使用with语句时,我们用到了enter()和exit()方法来进行文件的操作。如下图所示,我们可以自定义一个类似with功能的类来实现该功能。我们可以发现,withOpen()asf,可以看做是,就行了一个实例化的过程,它是先执行,enter()方法,再执行with代码块,最后执行了exit(
分类:
其他好文 时间:
2018-05-02 22:44:44
阅读次数:
186
一、with obj as f: #代码块... 二、执行流程: 1.with obj >触发obj.__enter__(),需要在obj里写__enter__(self),在它里边写返回值,返回给 as f 2.with obj as f 等同于 f = obj.__enter__() 3.执行w ...
分类:
编程语言 时间:
2018-03-11 02:42:58
阅读次数:
190