Python中with as 语句

2023-08-14  本文已影响0人  三月木头

从解释器看with语句执行流程

whit expression [as variable]:
       with-block
  1. as variable 可以省略
  2. 有一个句块需要执行

执行with语句时候,解释器先求出表达式的值,这个值是上下文管理器,拥有两个类魔术方法:

def __enter___():
  #   描述进入上下文
  pass


def __exit__():
  #   描述退出上下文
  pass

with 语句其实会先执行init 方法创建这个对象,创建完成后自动执行进入方法, 并将此对象赋值于as之后的变量,执行语句块,然后退出上下文之前自动执行退出方法。

参照文章
https://blog.csdn.net/lanhuazui10/article/details/120938353

上一篇 下一篇

猜你喜欢

热点阅读