[Python] enter,exit以及with

enter, exit用来和with..as..语句搭配使用。对于一个类A,定义其enter,以及exit成员方法。语句with exp1 as var: 这样的语句,exp1首先被执行,调用其结果的enter函数,enter函数的返回值赋值给var,with语句中的代码被执行之后,调用exp1结果的exit函数,exit还包括三个参数,保存了with代码段中遇到的异常。可以用来简化代码,管理一些需要成对处理(打开,关闭)的操作,比如各种资源的打开和关闭。

class A(object):
    def __init__(self):
           self.name = 'A'

    def __enter__(self):
        print("entering A")
        return self
 
    def __exit__(self, type, value, trace):
        print("exiting A")

with A() as a:
    print(a.name)

运行结果是:

entering A
a
exiting A
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容