python常见报错及解决方案

目录

一、TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误

二、AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

三、NameError:试图访问的变量名不存在

四、SyntaxError:语法错误,代码形式错误

五、KeyError:在读取字典中的key和value时,如果key不存在,就会触发KeyError错误

六、IndexError:索引错误,使用的索引不存在,常索引超出序列范围,序列中没有此索引(index)

七、IndentationError:缩进错误

八、TabError:Tab和空格混用

总结:

系列文章目录


一、TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误

1)错误例子:

age = 18
print('我的年龄是'+age)

报错信息:TypeError: can only concatenate str (not "int") to str(附:这里是类型错误,提示必须是一个字符串,不能是数字)

2)解决方法:在使用“+”做拼接的时候,必须使用字符串,或者把数字转换成字符串;

3)正确代码:

age = 18
print('我的年龄是'+str(age))

二、AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

1)错误例子:

nums = ('1','3','5')
nums.append('7')
print(nums)

报错信息:AttributeError: 'tuple' object has no attribute 'append'(附:属性错误:元组对象没有“append”的属性,简单来说元组是不可变对象

2)解决办法:把元组装换成列表

3)正确代码:

nums = ('1','3','5')
nums = list(nums)
nums.append('7')
print(nums)

三、NameError:试图访问的变量名不存在

1)错误例子:

#例子一
print(a)
#例子二
name = 'KUUUD'
print('My name is ' + nane)

报错信息:

例子一:NameError: name 'a' is not defined(附:这里是变量‘a’没有定义)

例子二:NameError: name 'nane' is not defined(附:这里同样是变量‘nane’没有定义,因为变量或函数名拼写错误也会报同样的错误)

2)解决办法:只需根据报错信息,仔细检查下拼写,很快就能解决

3)正确代码:

#例子一
a = 1
print(a)
#例子二
name = 'KUUUD'
print('My name is ' + name)

四、SyntaxError:语法错误,代码形式错误

1)错误例子:

name = 'KUUUD'
if name == 'KUUUD'
    print('Hello')

报错信息:SyntaxError: invalid syntax 

2)解决办法:当报错的时候,要注意回到错误信息的那一行,然后从下向上,慢慢查找,此处这个程序if语法忘了在判断语句后面加“:”,所以导致出错。

3)正确代码:

name = 'KUUUD'
if name == 'KUUUD':
    print('Hello')

五、KeyError:在读取字典中的key和value时,如果key不存在,就会触发KeyError错误

1)错误例子:

dict = {'a':1, 'b':2, 'c':3}
print(dict['d'])

报错信息:KeyError: 'd'(附:表示没有为‘d’的key)

2)解决办法:可以先测试下可以是否存在,然后再进行下一步的操作;

3)正确代码:

dict = {'a':1, 'b':2, 'c':3}
if 'd' in dict:
    print(dict['d'])
else:
    print('not exist')

六、IndexError:索引错误,使用的索引不存在,常索引超出序列范围,序列中没有此索引(index)

1)错误例子:

list = [2,3,4,5,6]
print(list[6])

报错信息:IndexError: list index out of range(附:索引错误,列表索引超出了范围)

2)解决办法:回头确定一下列表的长度,索引是要小于列表的长度的。上面的列表长度是5,而索引却要打印第六个,所以超出了列表的长度;

七、IndentationError:缩进错误

1)错误例子:

a = 1
b = 2
if a<b:
print(a)

报错信息:IndentationError: expected an indented block(附:缩进有误,python的缩进非常严格,行首多个空格,少个空格都会报错)

2)解决办法:熟悉python编码规则,如def,class,if,for,while等代码块都需要缩进

八、TabError:Tab和空格混用

1)报错信息:TabError:inconsistent use of tabs and spaces in indentation(附:相邻的两句代码的缩进需要统一使用tap或统一使用空格,不能混用

2)解决办法:

1.在报错的行把鼠标放在第一个字母前,删除空格回到上一行,然后按回车就好了;

2.不建议使用tab,因为回车之后默认是空格,在用tab就会报错了,实在要用tab的会就要把空格删掉在用;(附:tab键本质上是制表符,而不是缩进符,不同的文本编译器中制表符代表的空格宽度不一,如果代码需要跨平台或跨编译器读写,建议不要使用制表符(tab键))


总结:

        本文简单向大家介绍了刚上手python时容易出现的代码报错,希望能帮到大家。

        欢迎大家留言一起讨论问题~~~


系列文章目录

第一章:python常见报错及解决方案

第二章:编写python函数常用技巧代码(一)

第三章:编写python函数常用技巧代码(二)

第四章:python各种用法大全查询笔记

  • 17
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Python中解决报错的方法通常包括以下几种: 1. 对于编码错误(如引用中的 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation bytes),可以尝试使用正确的编码方式打开文件,如使用 'latin-1' 或 'utf-16' 编码进行解码。另外,还可以尝试使用 try-except 语句来捕捉异常并进行处理。 2. 缩进错误是Python常见的错误之一(如引用中的缩进错误)。在Python中,缩进是非常重要的,需要保持一致且正确的缩进。可以使用空格或制表符进行缩进,但在同一个代码块中必须使用相同的缩进方式。可以通过检查代码中的缩进是否正确,并使用编辑器的自动缩进功能来修复这类错误。 3. 对于类型错误(如引用中的 TypeError: range() integer end argument expected, got tuple),可以检查代码中的变量类型是否正确。例如,range() 函数的参数应该是整数类型,而不是元组类型。可以通过将变量转换为正确的类型或者重新检查代码逻辑来解决这类错误。 需要注意的是,解决报错需要具体问题具体分析,以上是一些常见的解决方法,但并不适用于所有情况。在实际解决报错时,应该结合具体错误信息和代码逻辑进行分析,并灵活运用适当的方法来解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python报错解决方案(持续更新)](https://blog.csdn.net/qq_23142123/article/details/78877174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [新手常见python报错解决方案](https://blog.csdn.net/weixin_30480583/article/details/97686913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hulake_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值