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的Django框架来制作一个RSS阅读器
Jul 22 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
python3实现mysql导出excel的方法
Jul 31 Python
python中调试或排错的五种方法示例
Sep 12 Python
Python unittest框架操作实例解析
Apr 13 Python
python 串行执行和并行执行实例
Apr 30 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Django程序的优化技巧
Apr 29 Python
python实现Nao机器人的单目测距
Sep 04 Python
Python采集壁纸并实现炫轮播
Apr 30 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
解析crontab php自动运行的方法
2013/06/24 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
yii用户注册表单验证实例
2015/12/26 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
JS 实现导航栏悬停效果
2013/09/23 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
vc6编写python扩展的方法分享
2014/01/17 Python
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
Python写的英文字符大小写转换代码示例
2015/03/06 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
总经理助理岗位职责
2013/11/08 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
美德好少年事迹材料
2014/01/19 职场文书
信息技术教学反思
2014/02/12 职场文书
教堂婚礼主持词
2014/03/14 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记
Java界面编程实现界面跳转
2022/06/16 Java/Android
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技