美文网首页
[Python] enter,exit以及with

[Python] enter,exit以及with

作者: Crowley | 来源:发表于2018-12-15 16:32 被阅读0次

    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
    

    相关文章

      网友评论

          本文标题:[Python] enter,exit以及with

          本文链接:https://www.haomeiwen.com/subject/foeahqtx.html