python上下文管理器的基本介绍

  • 更新时间:2021-07-14 09:14:15
  • 编辑:郝宜楠
本站收集了一篇相关的编程文章,网友咸暖姝根据主题投稿了本篇教程内容,涉及到Python相关内容,已被558网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

码农之家最近发表了一篇名为《python上下文管理器的基本介绍》的py文章,知识点总结的很细,把错误代码改掉了,为了方便大家的阅读。

python上下文管理器的基本介绍

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、概念

上下文管理器就是支持上下文管理器协议的对象,实现了 __enter__() 和 __exit__() 方法。

2、基本语法

with EXPR as VAR:
    BLOCK

3、两种方法

__enter__:在进入 with 语法块之前调用,返回值会赋值给 with 的 target

__exit__:在退出 with 语法块时调用,一般用作异常处理

4、实例

import time
 
 
 
class demo:
 
    def __init__(self, label):
 
        self.label = label
 
 
 
    def __enter__(self):
 
        self.start = time.time()
 
 
 
    def __exit__(self, exc_ty, exc_val, exc_tb):
 
        end = time.time()
 
        print('{}: {}'.format(self.label, end - self.start))
 
 
 
with demo('counting'):
 
    n = 10000000
 
    while n > 0:
 
        n -= 1
 
 
 
# counting: 1.36000013351

以上就是python上下文管理器的基本介绍,大家在初步掌握with方法后,可以结合上下文管理器的一起使用,说不定会有新的收获。

相关教程

  • 详解Python字符串切片

    这篇文章主要介绍了Python字符串切片,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2019-06-03

  • Python OpenCV 图像矫正的原理实现

    这篇文章主要介绍了Python OpenCV 图像矫正的原理实现,检测边缘点;以边缘点作为输入,采用Hough直线检测,检测出最多点共线的四条直线,更多相关内容需要的朋友可以参考一下

    发布时间:2019-07-23

用户留言