Python花式错误集锦(大集合),这些你都见过吗?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_38682860/article/details/85161042

作为一个Python 新手,难免在学习的过程中会遇到很多编译错误,那么在这里做一个汇总,避免今后犯同样的错误,希望对大家有所帮助。

语法错误篇

1、缩进IndentationError

这是我们在复制粘贴python代码,或者是不熟悉Python代码结构的时候,常常会范的错误。

Python中要求同一逻辑的代码块需要使用同样的缩进(常用4个空格)

如:

运行后,报错

解决方法:把代码的缩进统一调整为的4个空格就好了

2.、标点符号SyntaxError

这种情况比较常见:

  • 冒号错误
  • 逗号错误
  • 小括号缺失或不匹配

如:

修改方式:

  • 简单记法是中文的都比较胖,英文的都是瘦子。
  • 括号的问题,养成一种上来先把成对()写好的习惯,然后再填内容。

变量应用篇

1、命名错误

一定要记住:禁止使用Python自带的关键词来命名,比如list,dict等,这些都是不可取的,会导致类型错误的

  • 建议:命名时候的使用下划线_连字符,或者theName,TheName这种首字母大写的驼峰法。
  • 不建议:使用0(数字零)或者l(小写的L)来命名,否则容易引起下面的使用错误。

2.、使用错误

这里最常见的是大家会使用容易混淆的字母来命名

  • 造成使用的时候出错
  • 或者是使用时候完全用错了变量

编码错误篇

Python3中,我们遇到的最常见编码错误是在网络应用中,有时候我们得到的数据是bytes,但是我们实际需要str,这时候我们就需要转换编码。

  • 这里我们需要注意bytes和str的转换,其中 encoding='utf-8'是默认的参数

导入模块篇

  • 没有提前导入

这里经常会发生的错误是:使用某些模块的功能,但是py文件头部忘记导入

通常这种情况会出现在我们学习某些新内容中,敲完代码开始运行的时候,就会发现啥啥啥没defined,就需要去检查是不是最开始没有import的问题了。

当我们加入import json后,可得到正确结果{'name': 'de8ug', 'city': 'beijing'}

 
运行py文件时候报错ModuleNotFoundError: No module named 'xxx' 

遇到这种情况:我们一般是运行的那个.py文件又需要导入自己定义的其他模块,

但此时系统不知道哪些模块的存在

解决办法是:在运行的第一个.py文件头部,添加如下代码:

这种情况适用于有个project项目,里面又bin,conf,app等目录

当bin里面的py文件又需要引入conf,app等目录的模块时候

需要让系统本身知道project这目录的存在,先有爷爷,然后才能有孙子啊。

函数使用篇

作用域问题

Python在函数中使用变量的时候,会按照LEGB(Local(本地),Enclosing(封闭)

Global(全局),Built-in(内置))这种作用域的顺序来查找变量

如果有赋值(给同名的变量)操作,需要确保当前作用域下已经有这个变量。

因为这时候Python认为函数内部和外部有同名的变量,会把外部的屏蔽。

改进方式:

  • 直接引用外部变量,使用相应的方法
  • 采用不同的变量名

类似的还有+=的时候,这时候相当于两部操作,先=后+

但,如果函数内部变量和函数外相同,就会出现类似上面的错误。

你感受一下:

这些你有遇到过吗?踩过这些坑吗?

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/85161042