import time
class Runtime:
def __enter__(self):
self.start_time = time.time()
def __exit__(self, exc_type, exc_val, exc_tb):
self.end_time = time.time()
self.run_time = self.end_time - self.start_time
print('该程序的运行时间为:', self.run_time)
with Runtime():
# 自动调用__enter__
li = [i for i in range(1000000)] # 循环1000000,把i添加到列表中
# 自动调用__exit__
with Runtime():
li = []
for i in range(1000000):
li.append(i)
自定义类,实现上下文协议,记录程序运行的开始时间和结束时间,并通过这两个时间计算出来运行时间(结束时间-开始时间)
可以让该类的实例对象使用with关键字