目录
1 低级错误(比如拼写错误等)
1.1 NameError:
1.2 属性错误 AttributeError: 属性拼写错误
2 应用错误(类型应用,属性使用的错误)
2.1 类型错误 TypeError: 如字符串连接错误
2.2 属性应用错误 AttributeError
3 模块相关错误
3.1 找不到对应模块 ModuleNotFoundError:
3.2 相关模块相关错误,如os的 OSError: [Errno 22] Invalid argument:
3.3 requests模块问题:requests.exceptions.InvalidSchema无效架构
4 语法错误 SyntaxError:
4.1 函数语法错误 (缺少括号)
4.2 函数语法错误 (缺少:)
4.3 字符串连接错误 SyntaxError: unterminated string literal 未结束的字符串
4.4 值错误/参数错误 ValueError:
5 格式错误
5.1 缩进错误 IndentationError:
5.2 语法错误(复制代码空格导致错误):SyntaxError: invalid non-printable character U+00A0
6 非错误,警告提醒类!
6.1 BeautifulSoup(html1,"lxml") 缺少参数时的警告
TypeError: can only concatenate str (not “int“) to str
AttributeError: 'str' object has no attribute 'text'
错误原因
报错 OSError: [Errno 22] Invalid argument:
错误写法
正确写法
报错信息
OSError: [Errno 22] Invalid argument: 'E:\\work\\FangCloudV2\\personal_space\x02learn\\python3\\html0003.html'
requests.exceptions.InvalidSchema: No connection adapters were found for '
The Dormouse\'s story
\n\nOnce upon a time there were three little sisters; and their names were\nElsie,\nLacie and\nTillie;\nand they lived at the bottom of a well.
\n\n...
\n'使用re 正则库的时候,括号没有进行转义,或者丢了一半括号
正确写法
报错内容
报错例子
错误:print(‘I'm a student')
正确:print(‘Im a student')
错误:with open(loc1+str(page)+'\'+p_name, 'wb') as f:
正确:with open(loc1+str(page)+'\\'+p_name, 'wb') as f:
IndentationError: unexpected indent
6.1 BeautifulSoup(html1,"lxml") 缺少参数时的警告
Python Error - UnboundLocalError: local variable xxx referenced before assignment
变量使用前未初始化
重名变量,在函数内有全局声明时,当然为全局变量
除此之外,当重名变量在函数内存在(可以不是在函数内第一次出现时)赋值语句(包括 += 语句)时,它被认定为局部变量,否则被认为是全局变量。
插说一句,这个语法规则很容易理解。因为当出现赋值语句时,说明重名变量在函数内的值已经与函数外的值完全无关,重新赋了个新值,所以完全没有必要视之为全局变量
这就导致,当 函数内的、与函数外全局变量重名的变量,第一次在函数中出现不是赋值语句,而后面又在函数中出现了它的赋值语句 时,Python 解释器会报 “UnboundLocalError” 错误。这种情况的产生又分两种原因:
重名变量是全局变量,忘记对其用 global 关键字声明就使用(这种情况,如果后面没有赋值语句也无妨,解释器也会认为它是全局变量),但后面又出现了赋值语句,使 Python 解释器误解析为局部变量
重名变量是局部变量,忘记初始化了
也就是说,python 会默认赋值语句 的变量是局部的,而如果次