python

日本mm-python上下文管理器及自定义原理解析

2021-12-06

这篇文章主要介绍了日本mm日本mm日本mm原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python提供了with语法用于简化资源操作的后续清除操作,是try/finally的替代方法,实现原理建立在日本mm日本mm之上。

Python提供了一个contextman**er装饰器,更进一步简化上下日本mm的实现方式。

日本mm日本mm是Python2.5之后才出现的概念。日本mm日本mm规定了某个对象的使用范围,当进入或者离开了使用范围,都会有相应的一些调用,比如代码块开始时执行一些准备,代码块结束时结束一些操作。它更多的是用于资源的分配和释放上,即在开始时分配资源,结束时释放一些资源。比如在执行数据库查询时要建立连接,查询结束后要释放连接;写文件时要先打开文件,写结束后,要关闭文件等等。还有,就是资源的加锁和解锁,比如在使用多线程时,可能会用到加锁和解锁。

日本mm日本mm可以通过使用更可读、更精简的代码实现资源的分配与释放。

with的使用

对于日本mm日本mm的使用,最常见的是使用with语句,with语句可构建资源的分配与释放的语法糖。

因为with语句就是为支持日本mm日本mm而存在的,使用日本mm管理协议的方法包裹一个代码块(with语句体)的执行,并为try...except...finally提供了一个方便使用的封装。

一般语法:

defload_data(filename):f=file(filename,'w')try:f.write('testfile')finally:f.close()

使用with:

#使用withwithopen('test.txt','w')asf:f.write('Python')

通过with语句在编写代码时,会使代码变得更加简洁,不用再去关闭文件。

我们并不需要写文件的关闭操作,文件会在使用完后自动关闭。

with的执行原理

实际上,在文件操作时,并不是不需要写文件的关闭,而是文件的关闭操作在with的日本mm日本mm中的协议方法里已经写好了。当文件操作执行完成后,with语句会自动调用日本mm日本mm里的关闭语句来关闭文件资源。

日本mm管理协议(contextman**ementprotocol)

ContextMan**er,日本mm是context直译的叫法,在程序中用来表示代码执行过程中所处的前后环境。

日本mm日本mm中有__enter__和__exit__两个方法,以with为例子,__enter__方******在执行with后面的语句时执行,一般用来处理操作前的内容。比如一些创建对象,初始化等;__exit__方******在with内的代码执行完毕后执行,一般用来处理一些善后收尾工作,比如文件的关闭,数据库的关闭等。

日本mm管理协议包括两个方法:


热门排行


友情链接: