在学习和使用 python 的过程中,我们肯定会遇到各种各样的报错,报错总体上分为两种,第一种是语法错误,也就是说没有按照 python 的语法来编写代码,比如代码没有缩进, 如果存在语法错误,那拍同的代码是运行不起来的,必须要先进行改正。 第二种是代码运行错误,也称作异常 exception, 异常的出现会让代码立即停止运行。比如我们想让用户输入一个整数,并将输入值打印出来。 i n t 内置函数用来将输入的字符串转换成整形值 运行代码,我们输入一个一没有问题,但如果用户不小心或者故意输入了其他字符,比如 a, b, c, d, e, f, g。 由于 it 内置函数无法将这个字符串转化成整形值,所以程序就会立即报错,或者说抛出一个异常, 后面的打印代码也不会执行了。但是我们不希望用户在输入一个不合理的字符串后,程序就直接报错退出,这样很不友好,应该让程序进行提示,让用户重新输入。此时我们就可以使用 try except 语句来处理程序抛出的异常, 只要相应的异常被处理了,那程序就不会因为该异常而停止往下运行。 try accept 的使用格式是这样的,在 try 关键字下方编写执行代码,而 accept 下方则编写异常被捕获时相应的处理代码。 现在我们修改一下这个代码,加上 try except 语句,我们在 try 关键字下方编写程序正常运行时的逻辑。如果用户输入的值没有问题,那程序就会打印这个值并退出循环, 如果出现异常并被捕获,就会提示用户重新输入,然后再次执行一次循环 运行看一下。首先输入 一个一不会出现异常, 再次输入一个 a, b, c, d, e, f, g。 程序捕获到了一个异常,并打印相应的提示文本。 except 关键字后面如果跟上了一个具体的异常名称,就表明程序只会捕获这一种异常,而其他异常出现的话,程序就会立即报错退出,停止往下运行。 比如我们让程序直捕或 value error 这一种异常,也就是 i n t 内置函数转换出错时抛出的异常,然后我们加一行除法代码并打印出来。 运行程序输入一个不合理的值后,程序不获到了 value error 这个, 并要求用户重新输入。现在输入一个零,会发现程序直接报错并停止运行了,抛出了异常名称为 zero division error, 也就是说零不能作为除数。现在修改代码,再加一个 except 补货。 zero division error 异常, 当用户输入零时,我们提示不能输入零, 再次运行输入零后,就会发现 zero division error 异常被捕获了,程序并没有停止。 如果大家要捕获所有的异常并了解异常内容的话,可以这样写,这也是一种比较常见的写法。 最后我们再来了解一下异常处理中另外两个关键字, else 和 finally。 如果发生了异常,那 except 处的代码就会执行。 如果没有发生异常,那 else 出了代码就会直行。不管有没有发生异常, finally 处的代码都会直行。我们修改一下这里的代码,加上 else 和 finally in, 程序输入一个不合理的值, except 处的代码执行了, else 处的代码没有执行, finally 处的代码有执行。输入一个一程序没有抛出异常,所以 except 处的代码没有执行, else 处的代码有执行, finally 处的代码也有执行。 finally 的用法还是比较重要的,在开发时,我们可以在 finally 处编写一些释放资源,关闭数据库连接或者一些上后处理的代码。 相信大家以后会碰到这样的应用场景,那本节视频就到这,我们下期再见。
粉丝2440获赞1.0万

给拍摄初学者介绍一个添加中文错误提示的方法, 初学者呢,经常会遇到各种各样的编码错误,比如说呢这个,你呢?啊,我们的拍摄呢,一,不能除以零,这个零不能做除数,他是根据数学跟规则来规定的,我们运行之后呢就有这种错误的提示,这说明呢,我们编码就有一些错误 啊,当然这个错误可能你见过,或者说有一些没见过的,你就啊英语不好的人呢,就不知道是什么意思, 所以呢我们这呢就给大家说一下这个,我我的中文拍摄呢增加了一个库,只要你导入他就可以使用这个中文的提示啊,我的中文提示也很简单,就是 在他后面又加了一行中文啊,怎么使用呢?我们就要导入导入这个库啊,我的中文拍摄库呢比较内容实际上很很详细,你呢只需要现在呢啊,他就是这个 啊,导致这一行命令就行。好,现在我在运行一下,大家看这样呢就显示了除数为零错误, 当然呢,我们一般情况下是不会给他除以零的啊,是或者说是在那个给用户使用中,比如说有一个输入框,这个我说一下请输入 啊,这种情况呢,用户可能会输入这个其他的一些非法字符,比如说他输入零啊,啊,我这呢是 输了零,它是支付串啊,它输入一个 a, 输入一个回车等,好,这说明呢啊,这呢就来了一个中文提示,不支持这个除号,在两个操作类型之间,这个整数和支付串就是 input 这个函数,它 接受的是一个字符串,这样提醒我们能够把它转换成整数 啊,说到这个整数和字符串呢,还有一个经典的错误啊,很多同学呢,可能啊,误以为呢,他俩能相加, 虽然这个二呢,在也是二,但他是一个支付串的二,这样就不能添加他的这个错误。其实是这样的,很多网友可能不知道什么意思,现在呢,我给你翻译了一下啊,不支持操作类型使用这个加号,这个 加号呢,他认为是一个整数,后面必须也是一个整数啊,那么这样可不可以呢?有的网友想,我想在 a 后面呢添加一个一,这样呢也不行,他的提示呢就不太一样, 虽然也是一个这个加法的运算,但是他提示是这样的,他说啊,这个很多人不明白什么意思,你就看一下,只能连接字符串,而不是整数给这个字符串, 就他前面是字,这个加号是在字符串后面,他认为这是个连接符号,连接符号呢,只能连接字符串,现在你连接了一个 int 啊,一个整数,所以不行。 好,现在我们再取一个这个变量的例子,有很多网友呢, 电量没有定义,就使用,你运行一下,他就会这样提示,这个名称没有被定义啊,当然这是中文,如果你看不懂,就这样提示一下。 好,我现在定一个字点吧,我定一个字点,这个字点的键也叫 a, 这样好,如果你使用这个他没有的键,这个字点有很多键讲,是啊,你想使用 b 这个键,但是你还没有定义,我们运行一下, 他就会提示键,错误,就是没有这个键,但这个提示呢,并不是很好啊。还有一个就是 列表的例子,列表很多人呢,经常列表的左影啊,搞错,你的这有两个元素,很多人就认为我可以 取出第二个元素进入这个二,这样是不行的,因为列表呢,他从零开始数,这样呢,会出现一个锁引超出范围,列表的锁引超出了范围啊,当然这个提示也不太好, 所以说呢,如果你想学习中文,泰盛呢?我这里面呢,又啊,我啊实现了一个中文的列表,这样我觉得比较好用啊,我一般是这样啊,现在呢,我一般是这样写一个列表,我们就用列表两个汉字 数错列表啊,我给他进行了一个详细的提示,所以二,你现在用的是二,超出了列表的对象,所以范围这个,所以范围呢是零到一啊,因为零和一,然后我们再加一个,他就 应该会提成提示成这个,这样会提示成零点二吧。好,这样 啊,我的中文拍摄中呢,也实现了很多这个啊。呃,列表呢,也实现了列表的中文方法,比如说我们想知道添加啊,忘了添加怎么写,你来写一个点就可以写添加, 这个添加怎么用啊?有中文的提示,如果你不想使用中文,有人觉得我使用学会了中文,英文忘了怎么办?你看我这我这个添加函数的这个介绍,这有他的英文名字, 如果你忘了哪个名字,可以直接啊用这个方式来找串,比如说你忘了打印怎么写?你看啊,打印这就有打印,我这有介绍, 而且呢,你啊还可以看一下这个参数是什么意思,这样如果忘记他怎么使用,看一下,然后呢,再改成英文再来使用。 好,如果你不喜欢使用我的中文这些版本内置函数,你也可以仅使用,像这样仅使用我的中文库的一个模块。比如说呢,我自己给大家介绍两个我非常啊常用的模块 啊,一个模块呢,我们加一个点就会看到。我这里面翻译了很多常用模块 啊,我自己用的比较多的模块是一个界面库,我觉得给大家推广一下,是一个比较简单的界面库啊,这个界面库呢啊,简单易学,而且功能强大。我在这里面呢写了一个 啊,写了一个例子,在一块直接复制一下,虽然你使用了中文拍成了一个库,但这个库呢,并不依赖于我那些中文的啊,这个 啊,列表的那些东西,像这里面的我完全没有使用啊,中文内置函数和列表等类型,像这个打印,我这用了 print 啊,只是使用了这个库啊,现在我们运行一下。 好,现在我输出了这么一个啊窗口,你看这个界面就是文本输入框,文本 there 啊,然后呢,这个把这些东西塞到这个窗口里面来,在我输入几个字看,弹出了一个框,这个弹出框 就对应在这,然后呢我回车之后,这又出来一个十二,就是可以修改界面上的元素啊,他的使用还是比较简单的啊,大家看一下这个把鼠标指上去啊,就可以看到这个函数怎么使用。好的,你仔细看一下我这个视力就行 啊,我经常提到这个界面呢,我现在都不大用这个界面,我现在喜欢用一个外边界面,但知道这个我们的这个 界面呢,有一个问题,就是跨平台啊,如果你在 windows 电脑上再换一台电脑啊,或者说换温度七,温度十,或者换那个苹果系统的电脑啊,就会出现一些问题,那么你可以使用啊,我给大家推荐使用浏览器 作为界面,这样呢,不单啊,可以跨平台,还可以用拍摄来做简单的网页,好的也可以做复杂的,不然就需要你用点网页知识,即使你完全没有网页知识,也可以利用浏览器 来做一个简单的界面啊,给大家看一下我这个例子。 这例子呢,是啊,很简单,你看只有这么几行,我运行一下 它就会自动打开浏览器作为界面啊,稍等一下,好出来了啊,我们把它这个这样一下, 这样对照一下来看,现在出现的是一个 输入框,就对应了这,这是计算肥胖指数的,我的身高一百七十,你看他就显示这个输入框,我点提交,他就显示了这个输入框,请输入你的体重,我的体重呢,八十 啊,这样就计算出来了肥胖指数啊,属于肥胖,他的计算是根据这这个体重除以身高这么一个公式,然后这个公式算出来,再查一下这个标准啊,这里面呢实际上 也没有使用中文的啊,内置的函数啊,有一个小问题,就是输出 mark 档,这个 md 是 mark 档,加上两个星号,你看这就变成了比较粗的字体,加三个星号呢,字会小一点,一个星号呢字会大一点,这呢啊,非常方便 啊。当然呢,这里面呢还有很多库,我翻译的库还是啊,不少的还在添加啊,如果你可以想研究一下的话,可以下载下来,或者说看我之前的啊, what? 我发的教程,我的主页,我的主页呢,是五二中文编程,点控啊,这个库怎么去下载 啊?我的网站五二中文编程点 com, 如果你知道什么是地址栏在浏览器的呢,直接在这输入,回车就进入我的网站,如果你不知道也不要紧啊,你记住 我的网址是我爱中文编程的首字母,五二中文编程,你在百度中搜索的时候加上点 com, 不加的话会收到我写的一些文章, 加上它就会放到最前面来,点开,就这样,然后呢,再点击, 点击加入会员啊,然后呢,你就注册一下就可以登录啊,然后呢从这下载这啊,下载这个库 啊,这就是今天给大家分享的内容啊,主要还是分享给拍摄增加中文错误提示。这是新版本的一个功能啊,因为时间呢比较短啊,又给大家介绍了一些中文库的一个 一些常用的地方,我觉得大家啊可以试用一下。好,这就是今天的内容啊,如果你感兴趣请别忘了啊,这个访问我的网站啊,对,我给我的视频点赞和关注,好,今天内容就到这,我们。


