Python中with赋值操作的实现方法 -- 2019-08-11 19:34:27

Posted gqy02

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中with赋值操作的实现方法 -- 2019-08-11 19:34:27相关的知识,希望对你有一定的参考价值。

原文: http://106.13.73.98/__/187/

class A:
    def __enter__(self):
        """
        该方法在with后面的语句被求值后执行
        :return: 该方法的返回值将赋值给as后面的变量,也就是下面的a
        """
        print('__enter__')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        """
        这里的__exit__方法只在两种情况下执行:
            1.with后面的语句执行完毕后执行
            2.with代码块内的语句触发异常时执行
        :param exc_type: 异常类型
        :param exc_val: 异常信息
        :param exc_tb: 回溯对象(一个内存地址)
        """
        print('__exit__')

    def do_something(self):
        print('do_something')


with A() as a:
    a.do_something()

print('over')


"""
打印顺序:
    __enter__
    do_something
    __exit__
    over
"""

原文: http://106.13.73.98/__/187/

以上是关于Python中with赋值操作的实现方法 -- 2019-08-11 19:34:27的主要内容,如果未能解决你的问题,请参考以下文章

Python上下文管理器

Python中with的用法

python3 文件操作with open()方法用法解析

python with as用法

python中列表中的方法(重点) 列表的基本操作(赋值删除和分片赋值)

Python基础知识