Python编程中一些常见的错误和处理方法

1.关于return的用法

return 是不能在方法以外使用的,如果用在了方法以外的话,就会出现下面这种错误。

count = 0

while True:
   
    count +=1
    
    if count ==10:
      
        return

报错信息为:SyntaxError: 'return' outside function

解决办法:将return换成break。break是用来结束循环的。示例如下:

    

count = 0

while True:

    count +=1

    if count ==10:

        break

print(count)

输出结果是:10.

2.类型错误

name = '小张'

age = 5

print('我的名字是' + name + ',我的年龄是' + age)

报错:TypeError: must be str, not int

这是类型错误,提示必须是一个字符串,不能是数字

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

示例如下:

name = '小张'

age = '5'

print('我的名字是' + name + ',我的年龄是' + age)

3.语法错误

if name == '小李'

    print('Hello')
 

报错信息为: SyntaxError: invalid syntax

提示为:语法错误,非法的语法。

当报错的时候,要注意回到错误信息的那一行,然后从下往上,慢慢查找,此处这个程序就是因为If语法忘了在判断语句后面加“:”,所以导致的错误。

4.缩进错误

报错信息为:IndentationError: unindent does not match any outer indentation level

提示:缩进错误,未知缩进不匹配任何缩进等级

解决办法:使用“tab”键自动缩进

5.索引错误

list1 = [2,3,4,5,6]

print(list1[7])

报错信息:IndexError: list index out of range

提示:索引错误,列表索引超出了范围。

解决办法:回头看列表的长度,索引是要小于列表的长度的。上面的列表长度是5,而索引却要打印第七个,所以是超出了列表的长度。

6.值错误

content = 'hello world'

result = content.index('a')

print(result)

报错信息:ValueError: substring not found

提示:值错误,子字符串未找到

解决办法:重新查看字符串中的所有字符,看是否是自己索要打印的子字符不在字符串中。

7.属性错误

tp1 = ((),[],{},1,2,3,'a','b','c',3.14 ,True)

tp1.remove(1)

print(tp1)

报错信息:AttributeError: 'tuple' object has no attribute 'remove'

提示:属性错误:元组对象没有属性'remove'

8.类型错误

dic1 = {1,2,3,4,}

dic1.pop()

print(dic1)

报错信息:TypeError: pop() takes no arguments (1 given)

提示:pop方法希望得到至少一个参数,但是现在参数为0

解决方法:给pop方法添加一个参数。

猜你喜欢

转载自blog.csdn.net/qq_39138295/article/details/80989218