python中的with语句用法总结

红太狼 2021-09-17 22:44 522阅读 0赞
  1. class Kirin:
  2. def test(self):
  3. print("输出test")
  4. def __enter__(self):
  5. print("执行了enter语句")
  6. #切记:这里的retur返回的值会赋值给with表达式as后的变量标识符!
  7. #如果没返回具体值,那as后面的变量值为None
  8. return self
  9. def __exit__(self, exc_type, exc_value, traceback):
  10. print("执行了exit语句")
  11. #with语句的总结:
  12. #a、什么条件下使用with:必须实现了上下文协议的对象(对象必须实现__enter__和—__exit__两个方法)
  13. #b、这个实现上下文协议的对象称之为【上下文管理器】
  14. #c、with语句部分称之为上下文表达式,上下文表达式必须返回一个上下文管理器!
  15. #d、with语句后面的表达式(上下文表达式)返回值赋值给as后面的标识符【kirin】
  16. #as后面的kirin值仅和__enter—__函数的返回值有关系!
  17. with Kirin() as kirin:
  18. kirin.test()
  19. #执行语句输出结果为:执行了enter语句--输出test--执行了exit语句

发表评论

表情:
评论列表 (有 0 条评论,522人围观)

还没有评论,来说两句吧...

相关阅读

    相关 理解PythonWith语句

    [With语句是什么?][With] 有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是

    相关 python with用法举例

    我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f:   '代码块' 上述叫做上下文管理协议,即with语句,为了让一个