Python基础教程(8)——bug清除手册

本文详细介绍了Python编程中常见的错误和异常,包括语法错误(SyntaxError、IndentationError)和运行时异常(TypeError、IndexError)。重点讨论了如何识别和解决这些问题,如检查语法错误、类型错误、索引错误以及文件操作中的模块未找到、属性错误、文件未找到和解码错误。通过理解这些基础知识,有助于开发者更好地理解和调试Python代码。
摘要由CSDN通过智能技术生成

在开始正题之前,让我们先来看看本次学习的重难点。本次的知识点可以分为三个部分:

(1)常见的语法错误。

(2)基础语法中的常见异常。

(3)操作文件过程中的常见异常,这部分也是重难点知识。

编写代码时经常会遇到错误,因此掌握本课的内容对你将来自己做项目非常有帮助。至少可以节省大量排查错误的时间。加油!

1. 常见的语法错误

下面图片中显示的情况,相信你在平时写代码的过程中,肯定已经遇到过不少次了。

如果程序能够顺利运行,是不会出现这样的消息的。

这些在终端显示的"错误消息"表示我们在编写或运行程序时可能出现了问题。通常需要在Python中进行异常处理,以确保程序能够正确运行。

“异常处理”这个名词你应该是第一次接触,它包括我们在程序运行前的处理和在程序运行过程中的处理。

在Python中,异常处理是一门比较深奥的学问,涉及到很多特有的机制。不过我们暂时不需要掌握那么深入的知识,为了方便理解,你可以将解决问题或处理"错误消息"的过程称为"异常处理"。

不过,我们还不需要掌握这么难的知识,为了方便理解,你可以把解决问题或处理“错误消息”的过程称为“异常处理”。

我相信你凭借现有的编程经验,也能发现"错误消息"不仅限于图片中显示的那一种。实际上,按照Python官方文档的定义,这些"错误消息"至少可以分为两类:语法错误(syntax errors)异常(exceptions)

1.1 基本概念

语法错误(syntax errors)是初学者最容易犯的错误,简单来说就是代码不符合Python的基本语法规范,导致程序出错。

当你的代码完全符合Python的语法规范后,就可以尝试运行程序了。但是在程序运行过程中,仍然可能出现问题,我们称这类问题为异常。

作为一个有经验的人,为了让你少走弯路,我将根据你的技术水平列举一些常见的语法错误和异常。当然,我还会讲解它们产生的原因以及相应的解决办法。

此外,我还总结了一些在操作文件过程中可能遇到的常见异常,希望你引以为戒,尽量避免这些问题。

需要强调的是,本次讲解的语法错误和异常并不能代表全部,实际上,这只是冰山一角,还有许多复杂且棘手的异常等待你以后慢慢解决。

但是不要害怕,这是提高编程水平的必经之路。送你八个字:“遇事不慌,问题不大。”保持积极的心态是最重要的。

好了,按顺序,我们先来学习常见的语法错误。

正如前面所述,语法错误(syntax errors)是初学者最容易犯的错误,如果代码不符合 Python 的语法规范,比如漏了冒号,混用中英文符号等,就会出现这种错误。

如下图所示:

想要解决问题,最基本动作就是查看错误消息,终端会显示出现语法错误的那一行,并显示一个箭头^,指向这行里面检测到的第一个错误。

例如,在上图中,line 1和SyntaxError告诉你第一行有语法错误,出错位置很可能是在print() 附近。

需要说明的是,行数告诉你代码出现问题的位置,但不一定是最初出错的地方。有时候,真正的错误可能出现在提示信息所指示的位置之前,通常在前一行。

知道错误出现的位置后,就可以尝试解决错误了。下面我将分别讲解两种常见的语法错误:SyntaxError 和 IndentationError,以及它们产生的原因和相应的解决办法。

1.2 SyntaxError

第一种:SyntaxError: invalid syntax(无效语法)

在Python中,"SyntaxError: invalid syntax"是最常见的语法错误之一。它通常由以下几种情况引起:

一、遗漏了标点符号。

在第一种情况下,我们需要检查是否有遗漏标点符号。例如,在函数定义时,是否忘记了在括号后面加上冒号;在if条件判断和while循环中的条件后面是否有冒号;在for循环的可迭代对象后是否有冒号;以及在字典中的每个键值对之间是否有逗号等等。

此外,还要注意区分等于号(=)和等于比较运算符(==)的使用。

二、关键字拼写错误或遗漏。

第二种情况,很有可能是因为你手抖或者粗心,将 while 写成了 whlie,将 def 写成了 dfe 之类的错误,或者可能是你将 for...in... 中的关键字 in 忘写了。

三、变量名或函数名使用了关键字。

例:

 

# class 是 Python 的关键字,不可充当变量名class = False

# True 是 Python 关键字,不可作为函数名def True():    print('好好学习,天天向上')

正如代码里注释写的,class 和 True 都是 Python 中的关键字,关键字是不可以用来作为变量名、函数名或者类名的。

Python 还有以下关键字(看一眼就好,不用记住)。

大多数开发环境都会使用不同的颜色来显示关键字,因此当不小心使用关键字作为变量名时,会看到颜色变化,从而知道需要修改变量名。显

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值