with一个对象,自动触发__enter__方法

class Foo(object):
    def __init__(self):
        pass

    def __enter__(self):
        print("__enter__")

    def __exit__(self, exc_type, exc_val, exc_tb):
        print("__exit__")


obj = Foo()
with obj:
    print("xxx")
    
# 结果
"""
__enter__
xxx
__exit__
"""

 

posted @ 2019-02-08 16:07  就俗人一个  阅读(419)  评论(0编辑  收藏  举报