Python教程

当前位置:小码王 > 学习教程 > Python教程

Python编程中遇到了错误该怎么办
导读:在Python编程中年常会发生两种不同类型的错误,今天南京小码王Python培训班老师就来具体说说这两个问题及应对方法,这样不管遇到哪种错误都能知道如何应对。

Python和其他很多大热的编程语言一样,容错率低,一旦程序中出现一点问题就无法运行实现出来或者出现错误,如何预防应对,并寻找解决方法是我们需要思考的问题。在Python编程中年常会发生两种不同类型的错误,今天南京小码王Python培训班老师就来具体说说这两个问题及应对方法,这样不管遇到哪种错误都能知道如何应对。

p2.jpg

1、语法错误


IDLE在尝试运行程序前会对程序做一些检查。如果IDLE发现一个错误,这往往是一个语法错误(syntax error)。语法就是一种编程语言的拼写和文法规则,所以出现语法错误意味着你键入的某个内容不是正确的Python代码。


下面给出一个例子:

11.jpg

这里在print和 Bye for now!之间漏了一个引号。


如果运行这个程序,IDLE会弹出一个消息“Thert`s an error in your program: invaldi syntax ”意思是说你的程序中有一个错误,语法不正确。你必须查看代码,找出哪里出了问题。IDLE会(用红色)突出显示它认为出错的位置。也许问题不会恰好出现在红色显示的位置,不过应该很接近。


2、运行错误


可能发生的第二种错误是运行程序之前Python(或IDLE)无法检测出来的错误。这种错误只是在程序运行时才会发生,所以被称为行动时错误(runtime error ).下面是程序中出现运行时错误的例子:

22.jpg


如果保存这个程序,并试图运行,程序确实会开始运行,前两行会打印出来,但是接下来我们会得到一个错误消息:

33.jpg


Traceback开头的代码行表示错误消息开始。下一行指出哪里发生了错误,这里会给出文件名和行号。然后显示出错的代码行,这可以帮助你找到代码中哪里出了问题,错误消息的此后一部分会告诉你Python认为存在什么问题。对编程和Python有了更多了解之后,就更容易理解这个消息是什么意思了。


在Python中,不能把两个完全不同的东西加在一起,比如说数字和文本。正是因为这个原在,print "Bye for now!"+5会给出错误消息。这就像是在说:“5个苹果加3只鳄鱼是多少?”结果是8,但8个什么呢?把这些东西加在一起没有任何意义。不过几乎所有东西都可以乘以一个数来翻倍。(如果有两只鳄鱼,再乘以5,那你就会有10只鳄鱼!)正因如此,print "Bye for now!"*5是可以的。


看到程序运行过程中出现错误信息,有些人就会很焦虑,其实不用太过担心,这只是为了帮助你找到哪里出了问题,以便能及时改正错误,真正让人烦恼的是没有给出任何错误信息的bug,这才真的难找。


以上就是Python编程中常见的两类问题,发现了错误,不要紧张,分析错误出现的原因,找到bug,及时改正错误就可以了。新手学习Python可能会有不少困扰,想要获得更多优质的Python教程和课程资料的话,可以直接联系南京小码王在线老师,作为一家专业的Python培训班,这里有老师手把手教学,课程丰富,项目实践案例多样,可满足新手的学习需求。