python try/except/finally

news2024/11/25 1:02:22

在这里插入图片描述

稍微总结一下,否则总是忘。

x = 'abc' 
def fetcher(obj, index):  
 return obj[index]  
 
fetcher(x, 4)  

输出:

  File "test.py", line 6, in <module>  
    fetcher(x, 4)  
  File "test.py", line 4, in fetcher  
    return obj[index]  
IndexError: string index out of range  

第一: try不仅捕获异常,而且会恢复执行

def catcher():  
 try:  
        fetcher(x, 4)  
 except:  
 print "got exception" 
 print "continuing" 
  1. 输出:
got exception  
continuing  

第二:无论try是否发生异常,finally总会执行

def catcher():  
 try:  
        fetcher(x, 4)  
 finally:  
 print 'after fecth' 

输出:

after fecth  
Traceback (most recent call last):  
  File "test.py", line 55, in <module>  
    catcher()  
  File "test.py", line 12, in catcher  
    fetcher(x, 4)  
  File "test.py", line 4, in fetcher  
    return obj[index]  
IndexError: string index out of range  

第三:try无异常,才会执行else

def catcher():  
 try:  
        fetcher(x, 4)  
 except:  
 print "got exception" 
 else:  
 print "not exception" 

输出:

got exception  

def catcher():  
 try:  
        fetcher(x, 2)  
 except:  
 print "got exception" 
 else:  
 print "not exception" 

输出:

not exception  

else作用:没有else语句,当执行完try语句后,无法知道是没有发生异常,还是发生了异常并被处理过了。通过else可以清楚的区分开。

第四:利用raise传递异常

def catcher():  
 try:  
        fetcher(x, 4)  
 except:  
 print "got exception" 
 raise 

输出:

got exception  
Traceback (most recent call last):  
  File "test.py", line 37, in <module>  
    catcher()  
  File "test.py", line 22, in catcher  
    fetcher(x, 4)  
  File "test.py", line 4, in fetcher  
    return obj[index]  
IndexError: string index out of range  

raise语句不包括异常名称或额外资料时,会重新引发当前异常。如果希望捕获处理一个异常,而又不希望

异常在程序代码中消失,可以通过raise重新引发该异常。

第五:except(name1, name2)

def catcher():  
 try:  
        fetcher(x, 4)  
 except(TypeError, IndexError):  
 print "got exception" 
 else:  
 print "not exception" 

捕获列表列出的异常,进行处理。若except后无任何参数,则捕获所有异常。

def catcher():  
 try:  
        fetcher(x, 4)  
 except:  
 print "got exception" 

更多Python的学习资料可以扫描下方二维码无偿领取!!!

1)Python所有方向的学习路线(新版)

总结的Python爬虫和数据分析等各个方向应该学习的技术栈。

在这里插入图片描述

比如说爬虫这一块,很多人以为学了xpath和PyQuery等几个解析库之后就精通的python爬虫,其实路还有很长,比如说移动端爬虫和JS逆向等等。

img

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然达不到大佬的程度,但是精通python是没有问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验四 回溯法

实验四 回溯法 售货员问题 1.实验内容 1、理解回溯法的深度优先搜索策略&#xff0c;掌握用回溯法解题的算法框架 2、设计并实现旅行售货员问题问题&#xff0c;掌握回溯算法。 2.实验环境 Java 3.问题描述 旅行售货员问题&#xff1a;设有一个售货员从城市1出发&#…

docker-compose自建RustDesk远程控制服务器

github&#xff1a; rustdesk/rustdesk-server: RustDesk Server Program (github.com) 一、创建 docker-compose.yml 文件&#xff0c;复制以下 docker-compose 配置文件内容到文件 version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbspor…

开源ThinkMusic搭建音乐网站,并实现公网连接

1、前言 在我们的日常生活中&#xff0c;音乐已经成为不可或缺的要素之一&#xff0c;听几首喜欢的音乐&#xff0c;能让原本糟糕的心情变得好起来。虽然现在使用电脑或移动电子设备听歌都很方便&#xff0c;但难免受到诸多会员或VIP限制&#xff0c;难免让我们回想起音乐网站…

DAY6,C++(将顺序栈,顺序循环队列定义成模板类);

1.将顺序栈定义成模板类&#xff1b;​​​​​​ 顺序栈模板代码--- #include <iostream>using namespace std;template<typename T> class Stack { private:T *data; //指向堆区空间int top; //记录栈顶位置public:Stack(); //无参构造Stack(T size); //有…

子网划分路由网卡安全组

1."IPv4 CIDR" "IPv4 CIDR" 是与互联网协议地址&#xff08;IP address&#xff09;和网络的子网划分有关的概念。 - "IPv4" 代表 "Internet Protocol version 4"&#xff0c;也就是第四版互联网协议&#xff0c;这是互联网上最广泛使…

动态规划入门第4课,经典DP问题3 ----公共最长子序列

练习 第1题 最长公共子串 查看测评数据信息 给出2个小写字母组成的字符串&#xff0c;求它们最长的公共子串的长度是多少&#xff1f; 例如&#xff1a;”abcdefg” 与”xydoeagab”。有最长的公共子串”deg”&#xff0c; 答案为&#xff1a;3。 输入格式 第一行&#xff…

Java并发编程学习笔记(一)线程的入门与创建

一、进程与线程 认识 程序由指令和数据组成&#xff0c;简单来说&#xff0c;进程可以视为程序的一个实例 大部分程序可以同时运行多个实例进程&#xff0c;例如记事本、画图、浏览器等少部分程序只能同时运行一个实例进程&#xff0c;例如QQ音乐、网易云音乐等 一个进程可以…

【密码学】三、DES

DES 1、DES的加密过程2、初始置换3、16轮迭代变换过程3.1 扩展变换/位选择函数E3.2 S盒代换3.3P盒置换 4、初始逆置换5、密钥扩展5.1 选择置换PC_15.2选择置换PC_2 6、DES的解密过程7、多重DES 美国正式公布实施的DES是一个众所周知的分组密码&#xff0c;其 分组长度是64bit&…

Redis 缓存机制介绍

.Redis 缓存 缓存&#xff08;cache&#xff09;&#xff0c;原始意义是指访问速度比一般随机存取存储器&#xff08;RAM&#xff09;快的一种高速存储器&#xff0c;通常它不像系统主存那样使用 DRAM 技术&#xff0c;而使用昂贵但较快速的 SRAM 技术。缓存的设置是所有现代计…

arm点灯

.text .global _start _start: /**********LED1点灯**************/RCC_INIT:LDR R0,0X50000A28LDR R1,[R0]orr R1,R1,#(0x1<<4)orr R1,R1,#(0X1<<5)STR R1,[R0] LED1_INIT:/**/LDR R0,0X50006000LDR R1,[R0]and R1,R1,#(~(0X3<<20))orr R1,R1,#(0x1<<…

windows下载pytorch gpu时遇见的问题以及解决方案

一些很奇怪的问题 使用官方命令下载失效离线下载之后使用pip安装又md报错了 使用官方命令下载失效 这是官方的下载命令&#xff0c;我在运行这个命令的时候咋的都报错&#xff0c;真的无语。 报错信息如下&#xff08;当时没截图&#xff0c;我再创建个新环境运行此命令给大家…

13.2 【Linux】帐号管理

13.2.1 新增与移除使用者&#xff1a; useradd, 相关配置文件, passwd,usermod, userdel 我们登陆系统时会输入&#xff08;1&#xff09;帐号与 &#xff08;2&#xff09;密码&#xff0c; 所以创建一个可用的帐号同样的也需要这两个数据。那帐号可以使用 useradd 来新建使用…

深度剖析数据在内存中的储存

深度剖析数据在内存中的储存 整形在内存的储存大小端浮点型在内存中的存储浮点数在内存中存储规则 整形在内存的储存 #include <stdio.h> int main() {int a 0x11223344; }将整形a赋值为0x11223344 然后监视内存的地址 将地址在内存调试窗口中搜索&#xff0c;可以找到…

【MySQL】SQL性能分析 (七)

&#x1f697;MySQL学习第七站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 假如我们需要对SQL进行优化&#xff0c;我们就必须对他足够的了解&#xff0c;比如 对哪一类SQL进行优化&#xff08;增删改查…

【计算机组成原理】24王道考研笔记——第二章 数据的表示和运算

第二章 数据的表示和运算 一、数值与编码 1.1 进制转换 任意进制->十进制&#xff1a; 二进制<->八进制、十六进制&#xff1a; 各种进制的常见书写方式&#xff1a; 十进制->任意进制&#xff1a;&#xff08;用拼凑法最快&#xff09; 真值&#xff1a;符合人…

【C/C++】类之间的横向关系

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Qt曲线绘制-QChart使用(一)

最近打算研究一下qt绘制曲线图&#xff0c;以前项目中绘制曲线图都是纯painter画的&#xff0c;查了一下才发现qt关于曲线的图绘制有自带的qchart&#xff0c;还有第三方的qcustomplot、qwt、echarts等等&#xff0c;先研究QChart&#xff0c;QChart是Qt5.7之后才有的并且安装q…

基于antd@5.x封装Form.List组件

基于antd5.x封装Form.List组件 使用案例 const initFormState {formList1: [{start: 测试,end: 100,},{start: abc,end: value,},],formList2: [{start: 测试2,end: 6,},{start: vxcv,end: jksdhfjk,},], };<Formform{form}onFinish{onFinish}autoCompleteoffinitialValue…

源码对接微软Azure OpenAI 规范注意点

众所周知&#xff0c;我们是访问不通OpenAI官方服务的&#xff0c;但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用&#xff0c;所以我们需要使用国内的大模型接口 国内的效果真的很差&#xff0c;现在如果想合…

【RabbitMQ】RabbitMQ集群搭建(Docker版本)

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…