Python3 十大经典错误及解决办法,这操作真香
v++
解决方法:
在 Python 语言中,没有类似 C 语言的++或–等自操作运算符。与之类似功能的用法是+=或-=运算符。例如,使用下面的代码进行让变量 v 进行自增 1 的操作。
v += 1
(4)试图使用等号(=)判断两个运算量是否相等
报错信息:
SyntaxError:invalid syntax
错误示例:
if v=64:
print('hello world')
解决方法:
在 Python 语言中使用两个等号(==)作为判断两个运算量是否相等的关系运算符,而等号(=)是赋值运算符。
(6)错误使用 Python 语言关键字作为变量名
报错信息:
SyntaxError: can`t assign to keyword
错误示例:
False= 1
解决方法:
不要使用 Python 语言关键字作为变量名、函数名或类名等。在 Python Shell 窗口中,使用 help(‘keywords’)指令可以查看 Python 语言的关键字列表。
(7)忘记在 if/elif/else/while/for/def/class 等语句末尾添加冒号(:)
报错信息:
SyntaxError:invalid syntax
错误示例 1:
a = '12345'
for i in a
print(i)
错误示例 2:
def sayhi()
print('Hi')
解决方法:
在 if/elif/else/while/for/def/class 等语句末尾添加冒号(:)即可。牢记语法规则,多多练习多多敲代码。
(8)错误地使用了中文标点符号
报错信息:
SyntaxError: invalid character in identifier
错误示例 1:
print('hello','world')
错误原因:逗号是中文标点符号
错误示例 2:
for i in range(10):
错误原因:冒号是中文标点符号
解决方法:
除了字符串中可以有中文外,其它任何情况均使用英文状态进行编辑。
[](
)二、 IndentationError 缩进错误
报错信息:
IndentationError:unindent does not match any outer indentation level
IndentationError:expected an indented block
错误示例:
a = 2
while a < 0:
print('hello')
a -= 1
else:
print('0.0')
解决方法:
上述代码中 while 语句体内的代码缩进没有对齐。正确使用缩进排版代码。当代码是从其它地方复制并粘贴过来的时候,这个错误较多见。
[](
)三、 NameError 名字错误
当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。
报错信息:
NameError: name 'pirnt' is not defined
NameError: name 'sayhi' is not defined
NameError: name 'pd' is not defined
错误示例 1:
pirnt('hello world')
错误原因:print 拼写错误。
错误示例 2:
sayhi()
def sayhi():
pass
错误原因:在函数定义之前对函数进行调用。
错误示例 3:
pd.read_excel(r'file.xlsx')
错误原因:在调用 pandas 方法前并未导入 pandas 库或者并未起别名为 pd。
解决方法:
正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数的定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。
[](
)四、 TypeError 类型错误
(1)整数和字符串不能进行连接操作
报错信息:
TypeError: Can`t convert 'int' object to str implicitly
TypeError: unsupported operand type(s) for + : 'float' and 'str'
错误示例 1:
print('score:'+100)
错误示例 2:
print(9.8 + 'seconds')
解决方法:
在整数、浮点数或布尔值与字符串进行连接操作之前,先使用 str()函数将其转换为字符串类型。
(2)调用函数时参数的个数不正确,或者未传递参数
报错信息:
TypeError: input expected at most 1 arguments,got 2
TypeError: say() missing 1 required positional argument:'words'
错误示例 1:
input('输入姓名','年龄')
错误原因:试图给 input()函数提供第 2 个参数。
错误示例 2:
def say(words):
print(words)
say()
错误原因:调用函数时未传递参数。
解决方法:
记住函数用法,了解函数的参数定义,使用正确的方法调用函数即可。
[](
)五、 KeyError 键错误
使用不存在的键名访问字典中的元素,就会发生这个错误。
报错信息:
KeyError: 'c'
错误示例:
d = {'a':1,'b':2}
print(d['c'])
解决方法:
在访问字典中的元素时,先用 in 关键字检测要访问的键名是否存在,或者是使用字典和 get()方法安全地访问字典元素。
[](
)六、 IndexError 索引错误
当访问列表的索引超出列表范围时,就会出现索引错误。
报错信息:
IndexError: list index out of range
错误示例:
a = [1,2,3]
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000 多本 Python 电子书(主流和经典的书籍应该都有了)
② Python 标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python 基础入门、爬虫、web 开发、大数据分析方面的视频(适合小白学习)
⑤ Python 学习路线图(告别不入流的学习)
评论