1、
忘记在if,for,def,elif,else,class等声明末尾加:
会导致“SyntaxError :invalid syntax”如下:
ifspam ==42 print('Hello!')
2、
使用= 而不是 ==
也会导致“SyntaxError: invalid syntax”
= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:
ifspam =42: print('Hello!')
3、
错误的使用缩进量
导致“IndentationError:unexpected indent”、“IndentationError:unindent does not match any outer indetation level”以及“IndentationError:expected an indented block”
记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:
print('Hello!') print('Howdy!')
或者:
ifspam ==42: print('Hello!')print('Howdy!')
4、
在 for 循环语句中忘记调用 len()
导致“TypeError: 'list' object cannot be interpreted as an integer”
通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。
该错误发生在如下代码中:
spam = ['cat','dog','mouse']foriinrange(spam): print(spam[i])
5、
尝试修改string的值
导致“TypeError: 'str' object does not support item assignment”
string是一种不可变的数据类型,该错误发生在如下代码中:
spam ='I have a pet cat.'spam[13] ='r'print(spam)
而正确做法是:
spam ='I have a pet cat.'spam = spam[:13] +'r'+ spam[14:]print(spam)
6、
尝试连接非字符串值与字符串
导致 “TypeError: Can't convert 'int' object to str implicitly”
该错误发生在如下代码中:
numEggs =12print('I have '+ numEggs +' eggs.')
而正确做法是:
numEggs =12print('I have '+ str(numEggs) +' eggs.')numEggs =12print('I have %s eggs.'% (numEggs))
7、
在字符串首尾忘记加引号
导致“SyntaxError: EOL while scanning string literal”
该错误发生在如下代码中:
print(Hello!')print('Hello!)myName ='Al'print('My name is '+ myName + . How are you?')
8、
变量或者函数名拼写错误
导致“NameError: name 'fooba' is not defined”
该错误发生在如下代码中:
foobar ='Al'print('My name is '+ fooba)spam = ruond(4.2)spam = Round(4.2)
9、
方法名拼写错误
导致 “AttributeError: 'str' object has no attribute 'lowerr'”
该错误发生在如下代码中:
spam ='THIS IS IN LOWERCASE.'spam = spam.lowerr()
10、
引用超过list最大索引
导致“IndexError: list index out of range”
该错误发生在如下代码中:
spam = ['cat','dog','mouse']print(spam[6])
关注我的号,分享更多的技术学习文章,如果对于学习编程有很多疑惑,没有思路,不知道如何有效率的学习,可以添加我的Python交流学习群,639584010:在群里直接问我,我就是群主,需要最新系统的学习教程也可以管我要。做了很多年开发,对于学习方式,如何提高自己的技术有一定的经验,术业有专攻,多跟有经验的人交流学习,对这个行业信息了解的多,职业发展的空间就越大。