一、忘记写冒号
在if,elif,for,while,class,def语句后面忘记添加”:“
会导致错误"SyntaxError:invalid syntax"
错误示例:
if spam == 42
print('Hello!')
二、误用”=“做等值比较
错误示例:
score = 60
if score = 60:
print('passed')
正确示例:
score = 60
if score == 60:
print('passed')
三、变量没有定义
错误示例:
if age >= 18:
print('adult')
print('END')
会导致:NameError:name 'age' is not defined
正确示例:
age= 20
if age >= 18:
print('adult')
print('END')
四、字符串与非字符串连接
非字符串和字符串连接的时候,要将非字符串转换为字符串类型之后才能连接
错误示例;
num = 12
print('I have' + num +'apples.')
五、列表的索引位置
习惯性的认为列表元素的位置是从1开始的:其实是从0开始的
错误示例:
spam = ['cat','dog','mouse']
print(spam[3])
正确示例:
spam = ['1','2','3']
print(spam[2])
六,使用自增“++”自减“--”
错误示例:
spam = 0
spam++
正确示例:
spam= 0
spam +=1
七、使用关键字命名变量
python 3 中一共33个关键字:
False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,globalif,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield
自定义变量时,变量名不能和这些关键字重复
八、索引元素位置时忘记调用len方法
通过索引位置来获取列表元素时,忘记要使用len方法函数来获取列表的长度:
错误示例:
fam = ['add','mom','son']
for i in range(fam):
print(fam[i])
正确示例:
fam = ['add','mom','son']
for i in range(len(fam)):
print(fam[i])
九、函数中的局部变量赋值前被使用
第一行定义了一个全局变量num,同时函数myFunction()也定义了一个同名的局部变量,但程序执行时是先查找局部变量的,所以在函数找到num之后就找不到外部查找了,此时就会出现print的时候变量num还没赋值的错误
错误示例:
num =42
def myFunction():
print(num)
num=100
myFunction()
10、缩进问题
和其他语言的语法最大的不同就是,python不能用括号来表示语句块,也不能用开始或结束标识符来表示,而是考缩进来区分代码块的....
错误示例:
print('hello')
print('world')