class test:def __enter__(self):return "enter"def __exit__(self, exc_type, exc_value, traceback):if exc_type == IndexError:print(exc_value, type(exc_value))print(traceback)return Truewith test() as test: # test()不是调用的__call__方法,而是__enter__方法print(A)a = []a[0]

__enter__with语句后自动调用,可以给as后的变量赋值

__exit__用于捕获异常,返回boolean对象,如果为True异常被忽略,如果为False异常被抛出
三个参数分别是:
1.exc_type 异常类型
2.exc_value异常值
3.traceback

参考:
https://www.jianshu.com/p/fc25fe7d7cf2

python __enter____exit__(with)相关推荐

  1. gj3 Python数据模型(魔法函数)

    3.1 什么是魔法函数 类里面,实现某些特性的内置函数,类似 def __xx__(): 的形式. 不要自己定义XX,并不是和某个类挂钩的 class Company(object):def __in ...

  2. Python 关键词触发的魔法方法

    with:__enter____exit__ dic={} 获取容器中指定元素的行为 dic["name"] = "egon" #设置值 __setitem__ ...

  3. Python学习:魔法函数

    一.什么是魔法函数(网络用语) 以双下划线开始,双下滑线结尾.魔法函数是为了增强一个类的特性. 魔法函数可以随意定义某个类的特性,这些方法在进行特定的操作时会自动被调用. 1 需求:封装一个员工列表, ...

  4. Python面向对象魔法、元类简介及使用

    文章目录 一.反射实战案例 二.面向对象魔法方法 三.魔法方法笔试题 四.元类简介 五.产生类的两种方式 六.元类基本使用 七.元类进阶 一.反射实战案例 1.获取配置文件中所有大写的配置 小写的直接 ...

  5. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  6. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  7. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  8. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  9. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

最新文章

  1. 《CCNA无线640-722认证考试指南》——导读
  2. etc下没有mysql_我在linux下,安装mysql的时候,cp support-files/my-medium.cnf /etc/my.cnf找不到my-medium.cnf...
  3. [tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)
  4. 订阅插件提示:This system is not registered with an entitlement server. You can use subscription-manager to
  5. 缓存服务器协议有哪些,HTTP 协议的缓存机制概述
  6. 【图像处理】——上采样、下采样、在模板匹配中的金字塔加速策略
  7. Maven精选系列--classifier元素妙用
  8. WPF 操作 richTextBox
  9. 1020 月饼 (25分)
  10. CentOs基础操作指令(用户管理、组管理)
  11. 农村新农保加钱可不可以转城市社保?
  12. NMF(非负矩阵分解)的场景应用
  13. 详解JavaScript中的Url编码/解码,表单提交中网址编码
  14. IOS 手写控件 简单播放器 AVFoundation音乐播放
  15. Windows小技巧 – Win+R提高Windows使用效率
  16. 缠中说禅图解分析示范
  17. Lync 2010升级到Lync 2013 之Lync 2010 planning tool 的使用!
  18. 初学者如何从零开始搭建一个阿里云数据库
  19. Linux常用命令宝典(简单易懂)
  20. 黑月教主去水印软件_推荐大家一款免费去水印软和视频编辑软件—无水印剪辑APP...

热门文章

  1. python 密度聚类 使用_使用python+sklearn实现硬币图像上的结构化Ward层次聚类演示...
  2. ‘cross-env‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  3. P1425 小鱼的游泳时间【入门题】
  4. python从入门到实践答案第六章-《Python从入门到实践》第六章动手试一试
  5. 微课|中学生可以这样学Python(8.4节):递归算法例题讲解2
  6. 一个傻傻的尼姆游戏及其Python实现
  7. centos如何安装数据库mysql
  8. 多点测试:while的写法
  9. 力扣第202题. 快乐数(JavaScript)
  10. java编码gbk的不可_解决 java “错误:编码GBK 的不可映射字符”