写点什么

Python3 十大经典错误及解决办法,这操作真香

作者:程序媛可鸥
  • 2022 年 3 月 21 日
  • 本文字数:1823 字

    阅读完需:约 6 分钟

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 学习路线图(告别不入流的学习)

用户头像

Python编程资料加Q群免费领取:419829237 2022.03.14 加入

还未添加个人简介

评论

发布
暂无评论
Python3十大经典错误及解决办法,这操作真香_Python_程序媛可鸥_InfoQ写作平台