python语法错误,求大佬改正

你这是python3吗,你试着另存为新文件然后选utf-8格式呢?

}

↑关注 + 星标 ,每天学Python新技能后台回复【大礼包】送你Python自学大礼

在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如:在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一套代码就会出错

所以,我们就需要捕获出现的异常,以防止程序因为错误信息而终止运行

Python 有很多的内置异常,也就是说 Python 开发者提前考虑到了用户编程过程中可能会出现这类错误,所以制造了这些内置异常可以快速准确向用户反馈出错信息帮助找出代码中的 Bug

Python 官方文档中也给出了所有内置异常及触发条件,为了更好的阅读体验,我把所有异常及触发条件整理成了一张思维导图:

文末附有高清版本的获取方式

伙伴们可以直接划至文末取图,下面针对几个常见的异常单独介绍一下,通过举例深入了解在什么条件下会触发哪一种异常。

SyntaxError 主要是 Python 语法发生了错误,比如少个冒号、多个引号之类的,编程时稍微疏忽大意一下就会出错,应该是最常见的一种异常错误了

TypeError 是类型错误,也就是说将某个操作或功能应用于不合适类型的对象时引发,比如整型与字符型进行加减法、在两个列表之间进行相减操作等等

IndexError 是指索引出现了错误,比如最常见下标索引超出了序列边界,比如当某个序列 m 只有三个元素,却试图访问 m[4]

KeyError 是关键字错误,这个异常主要发生在字典中,比如当用户试图访问一个字典中不存在的键时会被引发

ValueError 为值错误,当用户传入一个调用者不期望的值时会引发,即使这个值的类型是正确的,比如想获取一个列表中某个不存在值的索引

AttributeError 是属性错误,当用户试图访问一个对象不存在的属性时会引发,比如列表有 index 方法,而字典却没有,所以对一个字典对象调用该方法就会引发该异常

NameError 是指变量名称发生错误,比如用户试图调用一个还未被赋值或初始化的变量时会被触发

FileNotFoundError 为打开文件错误,当用户试图以读取方式打开一个不存在的文件时引发

StopIteration 为迭代器错误,当访问至迭代器最后一个值时仍然继续访问,就会引发这种异常,提醒用户迭代器中已经没有值可供访问了

AssertionError 为断言错误,当用户利用断言语句检测异常时,如果断言语句检测的表达式为假,则会引发这种异常

上面这些异常应该是平时编程中遇见频率比较高的一部分,完整的还是要看上文的思维导图或者查阅官方文档,当然除此之外,Python 也支持用户根据自己的需求自定义异常,这里就不再过多概述了。

对于异常的处理 Python 也有着比较强大的功能,比如可以捕获异常,主动抛出异常等等,主要有下面几种方式:

4.raise关键字主动抛出异常

除了已经下载好的思维导图,也有一份在线版思维导图,我是用百度脑图绘制的

如果你觉得导图有哪部分不合理的话,可以根据自己的想法在网页端在线编辑,左下角阅读原文是参考的官方文档链接

获取方式:公众号后台回复关键字「异常」

}

我要回帖

更多关于 python总是语法错误 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信