python中常见的那些错误及解决方法(不定更新)
错误1:SyntaxError: \’return\’ outside function
解决:将return放在方法体中
return不能在方法以外使用
错误2:TypeError: must be str, not int
类型错误 必须是一个字符串 不能是数字
解决办法:使用+拼接的时候 必须使用字符串,或者将数字转化成字符串
错误3:SyntaxError: invalid syntax
语法错误 非法的语法
解决办法:看报错信息在第几行 ,从这一行往上找错误
错误4:IndentationError: unindent does not match any outer indentation level
indent 缩进错误 : 未知缩进不匹配任何缩进等级
解决办法:tab自动缩进
错误5:IndexError: string index out of range
索引错误:字符串超出了范围
解决办法:查看字符串的长度 索引要小于长度
错误6:ValueError: substring not found
值错误:子字符串未找到
错误7:IndexError: list index out of range
索引错误:列表索引超出范围
错误8:AttributeError: \’tuple\’ object has no attribute \’remove\’
属性错误:元组对象没有属性\’remove\’
错误9: IndentationError: expected an indented block
原因:语法格式问题 需要缩进
错误10:function() takes at least 1 argument (0 given)
原因 调用方法的时候缺少一个参数
错误11:SyntaxError: EOL while scanning string literal
原因:非法结束符号
错误12:TypeError: say_gun() takes no arguments (1 given)
原因: python 中的类方法和普通的函数有一个明显的区别 就是 在类方法中必须有一个额外的一个参数self。 可以不用为这个参数赋值 ,这个参数指代的是对象本身 。
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————–
关于错误、异常产生时的,出现的提示总结:
AttributeError:当一个属性引用或赋值失败时,会产生
EOFError:对于类似input或者raw_input这样的内置函数,如果在遇到输入流末尾之前没有读到任何数据,会产生
FloatingPointError:这个错误由导致错误的浮点操作产生,前提是已经打开了浮点异常控制(fpectl),启用fpectl时,要求编译解释器提供 with-fpectl标志,但是标准文档中不提倡使用fpectl
IOError:输入或输出失败时会产生,如磁盘满了,输入文件不存在等等
ImportError:无法导入一个模块或者模块中的一个成员时会产生该异常
IndexError:如果一个序列引用越界,就会产生IndexError
KeyError:如果没有找到一个值作为字典的键,会产生异常
KeyBoardInterrupt:用户按下Ctrl-C(或者Delete)终止一个正在运行的程序时,会产生
MemoryError:如果一个程序用尽了所有内存,而且可以恢复,会产生
NameError:如果代码引用了一个名字,而当前作用域中不存在这个名字,会产生
NotImplementedError:用户自定义的基类可能产生NotImplementedError,来指示一个方法或者行为需要子类定义
OSError:一个操作系统级别函数返回错误时会产生OSError
OverflowError:当一个算术运算超出变量类型的界限时,会产生
RefernceError:使用一个weakref代理访问已经被垃圾回收的对象时,会产生
RuntimeError:如果没有其他更特定的异常可用,就要使用RuntimeError异常
SyntaxError:当解释器无法解释程序的时候,会产生
SystemError:如果错误发生在解释其本身,会产生
SystemExit:当调用sys.exit()会产生
TypeError:结合对象或者在对象上调用函数时,如果对象类型不正确会产生
UnboundLocalError:一种NameError,特别针对局部变量名
UnicodeError:ValueError的一个子类,出现Unicode问题时产生
ValueError:如果一个函数接收到的值类型正确,但是值不合法
ZeroDivisionError:0做分母时抛出