美文网首页
[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