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