欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-20 08:31:42
...

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方法添加一个参数。

9.连接数据库错误。

(1366, "Incorrect string value: '\\xF0\\x9F\\x99\\x8F\\x0A\\xE6...' for column 'text' at row 1")

连接方式改为:

'CHARSET':'utf8mb4_general_ci',

10.使用验证码过程中可能遇见的三个错误以及解决方法。

使用验证码遇到的问题
1.RuntimeError: Model class captcha.models.CaptchaStore doesn't declare anexplicit app_label and isn't in an application in INSTALLED_APPS.
在settings里注册
2.在项目里面urls进行设置
Make sure you\'ve included captcha.urls a
s explained in the INSTALLATION section on http://readthedocs.org/docs/django-simple-captcha/en/latest/usage.html#installation'

3.no such table
重新模型迁移