美文网首页
为什么你的的Python脚本无法会报错无法运行?

为什么你的的Python脚本无法会报错无法运行?

作者: lakeseafly | 来源:发表于2019-07-23 15:32 被阅读0次

    相信大家对Python编程都不会陌生,这样你也会遇到不少报错的问题吧?特别是生信的小白,往往遇到报错的时候不知如何去解决,会造成不少的困扰。今天的推文会根据我个人经验总结一些常见的Python报错,和大家梳理一下与其相关的知识。

    首先,我们会分两种情况去讨论,有报错信息没有报错信息

    有报错信息

    如果有报错信息就好办了,只要读懂了报错信息的内容,debug就解决一大半了。这里给大家总结了一些新手常见的报错信息:

    Syntax Error

    Syntax Error: Python语法错误。常见的错误有:

    1. 忘记了使用 引号去标记一个字符串。
    2. 忘记了在 def/if/for 语句中,放置 ":"。
    3. 在你的语句中,你使用的开括号"(" 和闭括号")"数目不同。

    Attribute Error

    Attribute Error:对象没有这个属性。但有时候类构造函数出了问题也会报这个错误,本来是__init__()函数,但有几个类的构造函数成了__init_,少了一个'_'符号,也会发生这个错误。

    Type Error

    Type Error:对类型无效的操作。常见的错误有

    1. 尝试在错误类型的对象中使用运算符。
    2. 一个对象你以为它是有值的,但事实上它是None。
    3. 尝试调用一个函数,但使用了错误的数量或者类型的参数。
    4. 你在切割一个list的时候,用了非整数的数字。

    Indentation Error

    Indentation Error:缩进错误。常见的错误有:混淆使用了tab和空格进行分隔,行之间的缩进不一致。

    Name Error

    Name Error:未声明/初始化对象 (没有属性)。常见的错误有:

    1. 你拼错了变量,函数或者方法的名称。
    2. 你忘记import你所需的对应的模块了。
    3. 你忘记定义一个变量。
    4. 你的代码使用了 外部的变量,不在 其定义的范围内。
    5. 你在定义一个函数之前,就已经调用它了。

    IO Error

    IO Error:输入/输出操作失败,一般出现的情况是你尝试打开一个不存在的文件。

    Key Error

    Key Error:映射中没有这个键。你尝试去查找一个字典中不存在的键。

    没有报错信息

    如果没有报错信息,那么一般我们就要检查我们使用的if或者loops的语句。

    使用了if语句

    一般错误的形式有:不对等比较,比如你将一个字符串和数字进行比较,if 3 == "3"。另外条件语句中的优先顺序含糊不清,也会造成脚本无法运行,最好加一些括号进行区分。

    使用了loops

    loops,迭代是编程中很有用的一种方式,但是往往也会容易造成很大小错误,我个人遇到的错误有:

    1. 在list中,本应该历遍所有的值进行迭代,可是现在每次迭代都是一样的值。这是因为你在loop里面定义了一个list进行迭代,应该将它移到list外面。
    2. 你本来尝试将将loop中多行的结果输出到一个文件中,结果你发现你的输出文件只有一行。这是因为你在loop里面创建了输出文件,将它移到loop外面。
    3. 你使用range函数进行迭代,你发现最后一个值消失了。这是因为range函数是默认不包括最后的那个数字的,要将range函数中末尾的数字手动加上1。

    最后给大家做了一张思维总结图,有助大家更好的梳理该推文的内容:

    当然这只是我个人的总结,还有很多Python编程方方面面的问题都没有被包括。面对报错,最重要的是抱着学习的心态去学习,当你学会一个个慢慢地将问题解决,你的编程技能思维也逐步提高了。


    相关文章

      网友评论

          本文标题:为什么你的的Python脚本无法会报错无法运行?

          本文链接:https://www.haomeiwen.com/subject/pifalctx.html