python代码错误有哪些_Python常见⼗六个错误集合,你知道
那些?
使⽤python会出现各种各样的错误,以下是Python常见的错误以及解决⽅法。
1.ValueError: ‘Conv2d_1a_3×3’ is not a valid scope name
这个是刚遇到的问题,在LZ⾃⼰⼿打Inception net的时候,想赋⼀个名字的时候出错,其实这就是命名错误的问题,如果仔细看“×”是我在中⽂下打的符号,python是不认的,解决⽅案是使⽤英⽂字母”x“代替,错误即可解决,⽽且也能看到使⽤的卷积核的⼤⼩。
2.IndentationError:excepted an indented block
遇到这个问题简直是要哭了,因为并不是语法错误的问题,⽽是你代码书写规范的问题。因为Python是⼀个对代码缩进⾮常敏感的语⾔,你的循环结构就可能是依靠缩进的形式来表⽰的。最常见的问题就是TAB和space键的混⽤,这个是很容易报错的,⽽且⾁眼很难分辨出来,有的代码编辑器可以选择显⽰空格,即便是这样,也很难到到底哪⾥有问题。
其实,上⾯的报错还有⼀个原因经常遇到,就是⽆⾸⾏缩进,例如写if语句是,后⾯加冒号后如果直接换
⾏,好的代码编辑器会⾃动⾸⾏缩进,但有些代码编辑器可能没有这个功能,这是需要你⼿动缩进,这是最好养成习惯,不要连续敲⼏次空格键,直接⼀下TAB就可以了,保持代码风格的⼀致在Python的使⽤中是⾮常重要的。
3.TypeError: max_pool2d() got an unexpected keyword argument ‘atride’
这个错误就是纯粹的⼿误问题了,你定义的函数中没有这个关键字,这时候就要⾃⼰查看定义的函数名字,我这⾥应该是”stride“,在卷积神经⽹络是定义步长的。
4.NameError: global name ‘time’ is not defined
这个问题是我在调⽤函数time.time()⽤来计算时间损耗时,使⽤的函数时报错的,具体解决⽅案很简单,只要在代码开头加上import time 这句把time库⽂件加进来就好了。
5.NameError: global name ‘datetime’ is not defined
解决⽅案同上,from datetime import datetime
6.NameError: global name ‘math’ is not defined
解决⽅案同上,import math
7.Python中出现类似ascii之类的报错
这⼀类问题主要是在Python代码中有中⽂输⼊,这个解决⽅案是在代码开头加上:#coding:utf-8。不然凡是输⼊中⽂输⼊法下的字符就会报错。
8.NameError: global name ‘listdir’ is not defined
import os
这⾥需要注意⼏个问题,如果直接使⽤import os的时候,那么调⽤是就需要写成os.listdir(),如果是使⽤from os import *,那么是可以直接使⽤listdir(),但是会出现模块之间的命名冲突问题,对代码的稳定性会有⼀定的影响,所以LZ建议如果对模块函数还不是很熟悉的情况下哈市使⽤第⼀种⽅法。
9.TypeError: ‘dict_keys’ object does not support indexing
这个问题是python版本的问题
python新手代码错了应该怎么改#如果使⽤的是python2
firstStr = myTree.keys()[0]
#LZ使⽤的是python3
firstSides = list(myTree.keys())
firstStr = firstSides[0]
这是看决策树代码出现的问题,python3如果运⾏
firstStr = myTree.keys()[0]
就会报这个错误,解决办法就是先转换成list,再把需要的索引提取出来。
10.NameError: name ‘reload’ is not defined
这个是如果⼩伙伴们修改了⾃⼰写的module,在重载module时可能会出现的⼀个问题,解决⽅法还时很简单
import importlib
11.SyntaxError: invalid character in indentifier
我这⾥先贴出它报错的那⾏代码是怎么显⽰的:
b = 6\xao
这个LZ之前讲过⼀般出现ascii之类的问题就是混中⽂输⼊法了,出现这个问题着实尴尬,为什么?⾁眼哪能看出来是中⽂输⼊法下的空格和英⽂输⼊法下的空格/(ㄒoㄒ)/~~,这个只能看到底哪⾏报错吧中⽂的空格替换成英⽂的空格才⾏,其它也没啥办法,最好在输⼊代码时少切换切换输⼊法形式。
12.NameError: name ‘xrange’ is not defined
python版本问题,不兼容,python3版本的换成range()函数就⾏了。
13.AttributeError: ‘list’ object has no attribute ‘testVec’
这是说list没有这个属性,是啥问题呢?LZ⼿残的把’,’打成了’.’,知道python应该都知道’.’这是要在class⾥定义才能有的性质,⾃⼰凭空写是没⽤的。
14.SyntaxError: Missing paraentheses in call to ‘print’
⽼⽣常谈了,python的版本问题,python3.X要加()。
print ('hello world!')
15.SystemError: cannot compile ‘Python.h’
这个问题就是没法解析Python的头⽂件,解决⽅法还是很简单的。
#先更新下源啦
sudo apt-get update
#安装python-dev
sudo apt-get install python-dev
16. no module named wx
缺少模块的解决还是很好解决的,缺啥装啥就⾏了
sudo apt-get install python-wxtools
Python接触时间不是很长,暂时遇到的错误还不时很多,所以就先写这么多!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。