python3环境管理器-创新互联

1. 类内有 __enter__ 和 __exit__ 方法的类被称为环境管理器

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了阜城免费建站欢迎大家使用!

2. 能够用with语句进行管理的对象必须是环境管理器

3. __enter__ 将在进入with语句时调用并返回由 as 变量管理的对象

4. __exit__  将在离开with时被调用,且可以用参数判断离开with语句时是否有异常发生,并做出相应的处理

class Door:

  def open_door(self):

    print("正在开门")

  def close_door(self):

    print("正在关门")

  def come_in(self):

    print("正在进人")

  def __enter__(self):

    self.open_door()

    return self  #对象被as绑定(开门的动作被c绑定)

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

    self.close_door()

    if exc_type is None:

      print("with语句正常退出")

    else:

      print("with语句异常退出",exc_value)

with Door() as c:

  c.come_in()

  3 / 0  #抛出一个异常

  c.come_in()

python3环境管理器

__enter__语句在with执行时调用 open_door 动作,在with执行完毕调用__exit__语句里面的 close_door操作。判断语句检查类型并抛出状态

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:python3环境管理器-创新互联
分享URL:http://ybzwz.com/article/diogdi.html