python中with的简单用法

来源:互联网 发布:uc软件下载中心 编辑:程序博客网 时间:2024/06/13 04:56

学习版本3.5.2

with语句:实现了__enter__()方法和__exit__()方法的对象能够使用。__enter__()方法在调用with代码块之前调用,__exit__()方法在调用with代码块之后调用,with代码块抛出异常的时候也能调用__exit__()方法。

实验代码:

#/usr/bin/python3# -*- utf-8 -*-#学习版本3.5.2class test(object):    def __init__(self, num):        self.num = num    def __enter__(self):        print("__enter__")        return self    def __exit__(self, type, value, traceback):        print("__exit__")        print(type)        print(value)        print(traceback)        return selfif __name__ == "__main__":    t = test(4)    with t:        print(t.num)        raise Exception("is an exception")    print("main")

运行结果

__enter__4__exit__<class 'Exception'>is an exception<traceback object at 0x1012e3a88>main



原创粉丝点击