《Python数据分析技术栈》第01章 04 语法错误和异常处理(Syntax errors and exceptions)

本文主要是介绍《Python数据分析技术栈》第01章 04 语法错误和异常处理(Syntax errors and exceptions),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

04 语法错误和异常处理(Syntax errors and exceptions)

《Python数据分析技术栈》第01章 04 语法错误和异常处理(Syntax errors and exceptions)

Syntax errors are errors that may be committed inadvertently by the user while writing the code, for example, spelling a keyword wrong, not indenting the code, and so on. An exception, on the other hand, is an error that occurs during program execution. A user may enter incorrect data while running the program. If you want to divide a number (say, ‘a’) by another number (say, ‘b’), but give a value of 0 to the denominator (‘b’), this will generate an exception. The exceptions, which are autogenerated in Python and displayed to the user, may not lucidly convey the problem. Using exception handling with the try-except construct, we can frame a user-friendly message to enable the user to better correct the error.

语法错误是指用户在编写代码时可能无意中犯下的错误,例如拼错关键字、没有缩进代码等。异常则是在程序执行过程中发生的错误。用户在运行程序时可能会输入错误的数据。如果你想用一个数(如 “a”)除以另一个数(如 “b”),但给分母(“b”)的值是 0,这就会产生异常。在 Python 中自动生成并显示给用户的异常可能无法清楚地表达问题。通过使用 try-except 结构的异常处理,我们可以编写出用户友好的信息,使用户能够更好地纠正错误。

There are two parts to exception handling. First, we put the code that is likely to cause an error under a try clause. Then, in the except clause, we try to deal with whatever caused an error in the try block. We mention the name of the exception class in the except clause, followed by a code block where we handle the error. A straightforward method for handling the error is printing a message that gives the user more details on what they need to correct.

异常处理分为两个部分。首先,我们将可能导致错误的代码放在 try 子句中。然后,在 except 子句中,我们尝试处理 try 代码块中导致错误的代码。我们在 except 子句中提及异常类的名称,然后在代码块中处理错误。处理错误的一种直接方法是打印一条消息,向用户提供需要更正的更多细节。

Note that all exceptions are objects that are derived from the class BaseException, and follow a hierarchy.

请注意,所有异常都是从 BaseException 类派生出来的对象,并遵循一个层次结构。

A simple example of a program, with and without exception handling, is shown below.

下面是一个简单的程序示例,包括异常处理和无异常处理两种情况。

while True:try:n = int(input('Enter your score:'))print('You obtained a score of ', n)breakexcept ValueError:print('Enter only an integer value')

Same program (Without exception handling):

n=int(input('Enter your score:'))
print('You obtained a score of ',n)

The statement that is likely to cause an error in the preceding code is: int(input(‘Enter your score:’)). The int function requires an integer as an argument. If the user enters a floating-point or string value, a ValueError exception is generated. When we use the tryexcept construct, the except clause prints a message asking the user to correct the input, making it much more explicit.

在前面的代码中,可能导致错误的语句是:int(input(‘输入您的分数:’))。int 函数需要一个整数作为参数。如果用户输入的是浮点数或字符串值,就会产生 ValueError 异常。当我们使用 tryexcept 结构时,except 子句会打印一条信息,要求用户更正输入内容,这样就更加明确了。

这篇关于《Python数据分析技术栈》第01章 04 语法错误和异常处理(Syntax errors and exceptions)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/620444

相关文章

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及,智能家居行业正迎来新的发展机遇,众多厂商纷纷投身于 Matter 产品的研发与验证。然而,开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。  乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行业洞察力,推出了全面的 Matter 解决方案,包含基于乐鑫 SoC 的 Matter 硬件平台、基于开源 ESP-Matter SDK 的一

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

持久层 技术选型如何决策?JPA,Hibernate,ibatis(mybatis)

转自:http://t.51jdy.cn/thread-259-1-1.html 持久层 是一个项目 后台 最重要的部分。他直接 决定了 数据读写的性能,业务编写的复杂度,数据结构(对象结构)等问题。 因此 架构师在考虑 使用那个持久层框架的时候 要考虑清楚。 选择的 标准: 1,项目的场景。 2,团队的技能掌握情况。 3,开发周期(开发效率)。 传统的 业务系统,通常业

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

python实现最简单循环神经网络(RNNs)

Recurrent Neural Networks(RNNs) 的模型: 上图中红色部分是输入向量。文本、单词、数据都是输入,在网络里都以向量的形式进行表示。 绿色部分是隐藏向量。是加工处理过程。 蓝色部分是输出向量。 python代码表示如下: rnn = RNN()y = rnn.step(x) # x为输入向量,y为输出向量 RNNs神经网络由神经元组成, python

python 喷泉码

因为要完成毕业设计,毕业设计做的是数据分发与传输的东西。在网络中数据容易丢失,所以我用fountain code做所发送数据包的数据恢复。fountain code属于有限域编码的一部分,有很广泛的应用。 我们日常生活中使用的二维码,就用到foutain code做数据恢复。你遮住二维码的四分之一,用手机的相机也照样能识别。你遮住的四分之一就相当于丢失的数据包。 为了实现并理解foutain