class Time:
def __init__(self):
self.elapsed = elapsed
def __enter__(self):
self.start =time.pref_counter()
return self
def __exit__(self,exc_type, exc_val, exc_tb):
self.stop=time.pref_counter()
self.elapsed = self.stop - self.start
return elapsed
with Time() as timer:
for n in range(100):
print(i)
这里上下文管理器的with实际是先吧Time类里面的__enter__的返回值赋给timer,然后再去调用__exit__
with opon(file) as f:原理也是一样的
python上下文管理器
最新推荐文章于 2024-10-04 20:30:00 发布
该文章讲述了如何使用Python的上下文管理器with语句,通过定义`__enter__`和`__exit__`方法创建一个Time类来衡量代码执行时间。在with块中,Time类的实例被创建并启动计时,然后在退出时停止计时,提供了一个简洁的性能度量工具。
摘要由CSDN通过智能技术生成