python __enter____exit__(with)
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)相关推荐
- gj3 Python数据模型(魔法函数)
3.1 什么是魔法函数 类里面,实现某些特性的内置函数,类似 def __xx__(): 的形式. 不要自己定义XX,并不是和某个类挂钩的 class Company(object):def __in ...
- Python 关键词触发的魔法方法
with:__enter____exit__ dic={} 获取容器中指定元素的行为 dic["name"] = "egon" #设置值 __setitem__ ...
- Python学习:魔法函数
一.什么是魔法函数(网络用语) 以双下划线开始,双下滑线结尾.魔法函数是为了增强一个类的特性. 魔法函数可以随意定义某个类的特性,这些方法在进行特定的操作时会自动被调用. 1 需求:封装一个员工列表, ...
- Python面向对象魔法、元类简介及使用
文章目录 一.反射实战案例 二.面向对象魔法方法 三.魔法方法笔试题 四.元类简介 五.产生类的两种方式 六.元类基本使用 七.元类进阶 一.反射实战案例 1.获取配置文件中所有大写的配置 小写的直接 ...
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- 【实验楼】python简明教程
①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...
- 【Kaggle Learn】Python 5-8
五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...
- 【Kaggle Learn】Python 1-4
[Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...
- 使用python愉快地做高数线代题目~
今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...
最新文章
- 《CCNA无线640-722认证考试指南》——导读
- etc下没有mysql_我在linux下,安装mysql的时候,cp support-files/my-medium.cnf /etc/my.cnf找不到my-medium.cnf...
- [tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)
- 订阅插件提示:This system is not registered with an entitlement server. You can use subscription-manager to
- 缓存服务器协议有哪些,HTTP 协议的缓存机制概述
- 【图像处理】——上采样、下采样、在模板匹配中的金字塔加速策略
- Maven精选系列--classifier元素妙用
- WPF 操作 richTextBox
- 1020 月饼 (25分)
- CentOs基础操作指令(用户管理、组管理)
- 农村新农保加钱可不可以转城市社保?
- NMF(非负矩阵分解)的场景应用
- 详解JavaScript中的Url编码/解码,表单提交中网址编码
- IOS 手写控件 简单播放器 AVFoundation音乐播放
- Windows小技巧 – Win+R提高Windows使用效率
- 缠中说禅图解分析示范
- Lync 2010升级到Lync 2013 之Lync 2010 planning tool 的使用!
- 初学者如何从零开始搭建一个阿里云数据库
- Linux常用命令宝典(简单易懂)
- 黑月教主去水印软件_推荐大家一款免费去水印软和视频编辑软件—无水印剪辑APP...
热门文章
- python 密度聚类 使用_使用python+sklearn实现硬币图像上的结构化Ward层次聚类演示...
- ‘cross-env‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- P1425 小鱼的游泳时间【入门题】
- python从入门到实践答案第六章-《Python从入门到实践》第六章动手试一试
- 微课|中学生可以这样学Python(8.4节):递归算法例题讲解2
- 一个傻傻的尼姆游戏及其Python实现
- centos如何安装数据库mysql
- 多点测试:while的写法
- 力扣第202题. 快乐数(JavaScript)
- java编码gbk的不可_解决 java “错误:编码GBK 的不可映射字符”