配色: 字号:
Python 初学者最容易犯的几个错误
2018-01-26 | 阅:  转:  |  分享 
  
Python初学者最容易犯的几个错误对于新手,初学Python时,总会遇到这样那样的报错,想要弄懂Python错误信息的含义可能还不知道怎
么做,这里列出了一些比较常见的Python报错问题,希望对于学习Python的人能够有些帮助。1)尝试连接非字符串值与字符串(导致
“TypeError:Can’tconvert‘int’objecttostrimplicitly”)该错误发生在
如下代码中:numEggs=12print(''Ihave''+numEggs+''eggs.'')而你实际想要这样做:
numEggs=12print(''Ihave''+str(numEggs)+''eggs.'')或者:numEggs
=12print(''Ihave%seggs.''%(numEggs))2)在字符串首尾忘记加引号(导致“SyntaxEr
ror:EOLwhilescanningstringliteral”)该错误发生在如下代码中:print(Hello!''
)或者:print(''Hello!)或者:myName=''Al''print(''Mynameis''+myName+
.Howareyou?'')3)变量或者函数名拼写错误(导致“NameError:name‘fooba’isnotd
efined”)该错误发生在如下代码中:foobar=''Al''print(''Mynameis''+fooba)或者:s
pam=ruond(4.2)或者:spam=Round(4.2)4)方法名拼写错误(导致“AttributeError:
‘str’objecthasnoattribute‘lowerr‘”)该错误发生在如下代码中:spam=''THIS
ISINLOWERCASE.''spam=spam.lowerr()5)引用超过list最大索引(导致“IndexErro
r:listindexoutofrange”)该错误发生在如下代码中:spam=[''cat'',''dog'',''mo
use'']print(spam[6])6)使用不存在的字典键值(导致“KeyError:‘spam’”)该错误发生在如下代码中:s
pam={''cat'':''Zophie'',''dog'':''Basil'',''mouse'':''Whiskers''}print
(''Thenameofmypetzebrais''+spam[''zebra''])7)忘记在?if,?elif?,?
else?,?for?,?while?,?class?,def?声明末尾添加:(导致“SyntaxError:invalid
syntax”)该错误将发生在类似如下代码中:ifspam==42print(''Hello!'')8)使用=而不是==
(导致“SyntaxError:invalidsyntax”)=是赋值操作符而==是等于比较操作。该错误发生在如下代码中
:ifspam=42:print(''Hello!'')9)使用错误的缩进量。(导致“IndentationError:unex
pectedindent”、“IndentationError:unindentdoesnotmatchanyoute
rindetationlevel”以及“IndentationError:expectedanindentedblock
”)记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:print(''Hello!'')p
rint(''Howdy!'')或者:ifspam==42:print(''Hello!'')print(''Howdy!'')或者:i
fspam==42:print(''Hello!'')10)在?for循环语句中忘记调用?len()(导致“TypeError:
‘list’objectcannotbeinterpretedasaninteger”)通常你想要通过索引来迭代一
个list或者string的元素,这需要调用?range()?函数。要记得返回len?值而不是返回这个列表。该错误发生在如下代码中
:spam=[''cat'',''dog'',''mouse'']foriinrange(spam):print(spam[i]
)python一些最重要的内建异常类名总结AttributeError:属性错误,特性引用和赋值失败时会引发属性错误NameErr
or:试图访问的变量名不存在SyntaxError:语法错误,代码形式错误Exception:所有异常的基类,因为所有python
异常类都是基类Exception的其中一员,异常都是从基类Exception继承的,并且都在exceptions模块中定义。IOE
rror:一般常见于打开不存在文件时会引发IOError错误,也可以解理为输出输入错误KeyError:使用了映射中不存在的关键字
(键)时引发的关键字错误IndexError:索引错误,使用的索引不存在,常索引超出序列范围,什么是索引TypeError:类型错
误,内建操作或是函数应于在了错误类型的对象时会引发类型错误ZeroDivisonError:除数为0,在用除法操作时,第二个参数为
0时引发了该错误ValueError:值错误,传给对象的参数类型不正确,像是给int()函数传入了字符串数据类型的参数。希望上边的总结,对大家能够有一些帮助,如有不到之处,也希望多多指教,相互交流进步。本文由老男孩教育撰写
献花(0)
+1
(本文系python学习首藏)