Python考试题--第53道题目--怎样将with语句用以一个自定义类--2022年04月08日
原创目录
一、with声明的作用是:
1它适合于访问资源,以确保无论在使用过程中是否有任何异常,都会执行必要的“清理”工作。
2释放资源:文件在使用后关闭,线程中的锁被自动获取和释放。
二、将with自定义类的语句:
# 介绍魔术功能:__enter__ __exit__
class Myclass:
def __enter__(self):
print(__enter__ is call!)
return self
def process1(self):
print(process1)
def process2(self):
a = 1/0
print(process2)
def __exit__(self,exc_type,exc_value,traceback):
print(__exit__ is call!)
print(ftype:{exc_type})
print(fvalue:{exc_value})
print(ftrace:{traceback})
如果直接调用自定义类,肯定会报告错误。
mm = Myclass()
mm.process2()
# ZeroDivisionError: division by zero
如果使用with语句调用自定义类:
with Myclass() as mc:
mc.process1()
mc.process2()
将出现以下提示消息:
"""
__enter__ is call!
process1
__exit__ is call!
type:
value:division by zero
trace:
"""
无论在执行过程中是否引发异常,下面的程序都将继续。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




