python中常见错误及解决方法


Posted in Python onJune 21, 2020

python常见的错误有

1.NameError变量名错误

2.IndentationError代码缩进错误

3.AttributeError对象属性错误

详细讲解

1.NameError变量名错误

报错:

>>> print a<br>Traceback (most recent call last):<br>File "<stdin>", line 1, in <module><br>NameError: name 'a' is not defined<br>

解决方案:

先要给a赋值。才能使用它。在实际编写代码过程中,报NameError错误时,查看该变量是否赋值,或者是否有大小写不一致错误,或者说不小心将变量名写错了。

注:在Python中,无需显示变量声明语句,变量在第一次被赋值时自动声明。

>>> a=1<br>>>> print a<br>1<br>

2.IndentationError代码缩进错误

代码

a=1b=2<br>if a<b:<br>print a<br>

报错:

IndentationError: expected an indented block<br>

原因:

缩进有误,python的缩进非常严格,行首多个空格,少个空格都会报错。这是新手常犯的一个错误,由于不熟悉python编码规则。像def,class,if,for,while等代码块都需要缩进。

缩进为四个空格宽度,需要说明一点,不同的文本编辑器中制表符(tab键)代表的空格宽度不一,如果代码需要跨平台或跨编辑器读写,建议不要使用制表符。

解决方案

a=1b=2<br>if a<b:<br>  print a<br>

3.AttributeError对象属性错误

报错:

>>> import sys<br>>>> sys.Path<br>Traceback (most recent call last):<br>File "<stdin>", line 1, in <module><br>AttributeError: 'module' object has no attribute 'Path'<br>

原因:

sys模块没有Path属性。

python对大小写敏感,Path和path代表不同的变量。将Path改为path即可。

>>> sys.path<br>['', '/usr/lib/python2.6/site-packages']<br>

初学者遇到的错误实例:

使用错误的缩进

Python用缩进区分代码块,常见的错误用法:

print('Hello!')
print('Howdy!')

导致:IndentationError: unexpected indent。同一个代码块中的每行代码都必须保持一致的缩进量

if spam == 42:
print('Hello!')
print('Howdy!')

导致:IndentationError: unindent does not match any outer indentation level。代码块结束之后缩进恢复到原来的位置

if spam == 42:
print('Hello!')

导致:IndentationError: expected an indented block,“:” 后面要使用缩进

变量没有定义

if spam == 42:
print('Hello!')

导致:NameError: name 'spam' is not defined

获取列表元素索引位置忘记调用 len 方法

通过索引位置获取元素的时候,忘记使用 len 函数获取列表的长度。

spam = ['cat', 'dog', 'mouse']
for i in range(spam):
print(spam[i])

导致:TypeError: range() integer end argument expected, got list. 正确的做法是:

spam = ['cat', 'dog', 'mouse']
for i in range(len(spam)):
print(spam[i])

当然,更 Pythonic 的写法是用 enumerate

spam = ['cat', 'dog', 'mouse']
for i, item in enumerate(spam):
print(i, item)

函数中局部变量赋值前被使用

someVar = 42
def myFunction():
print(someVar)
someVar = 100
myFunction()

导致:UnboundLocalError: local variable 'someVar' referenced before assignment

当函数中有一个与全局作用域中同名的变量时,它会按照 LEGB 的顺序查找该变量,如果在函数内部的局部作用域中也定义了一个同名的变量,那么就不再到外部作用域查找了。因此,在 myFunction 函数中 someVar 被定义了,所以 print(someVar) 就不再外面查找了,但是 print 的时候该变量还没赋值,所以出现了 UnboundLocalError

以上就是python中常见错误及解决方法的详细内容,更多关于python常见错误有哪些的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
简明 Python 基础学习教程
Feb 08 Python
从零学python系列之数据处理编程实例(二)
May 22 Python
python将ip地址转换成整数的方法
Mar 17 Python
Python按行读取文件的简单实现方法
Jun 22 Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
Oct 16 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
Python任务自动化工具tox使用教程
Mar 17 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
python安装后的目录在哪里
Jun 21 #Python
浅谈Python 函数式编程
Jun 20 #Python
音频处理 windows10下python三方库librosa安装教程
Jun 20 #Python
深入浅析python 中的self和cls的区别
Jun 20 #Python
浅谈Python 参数与变量
Jun 20 #Python
python字符串的index和find的区别详解
Jun 20 #Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 #Python
You might like
Snoopy类使用小例子
2008/04/15 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
关于js类的定义
2011/06/28 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
js实现选项卡效果
2020/03/07 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
解读! Python在人工智能中的作用
2017/11/14 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
python实现粒子群算法
2020/10/15 Python
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
文秘专业个人求职信
2013/12/22 职场文书
师德师风整改措施
2014/10/24 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书