今天在学习Python时,一个 SyntaxError: invalid syntax 错误调试了近半个小时,一方面自己查找错误;另一方面疯狂的 baidu、google,一无所获。
所以想写一篇博文对暂时遇到的“ SyntaxError: invalid syntax ”作一下总结。
1、语法错误
这个错误有时候很容易发现,但是有时候很难很难发现(我遇到的就是后者)。
**容易发现类**:像 "for" 写成了 "fir" 这类关键字拼写错误;
**不容易发现类**:上面程序段错误;
如:
writer.writerow({"user_id": key, "item_id": item}
def func(para):
return para * 2
运行时,IDE会在 def 的那个地方一直报错,SyntaxError: invalid syntax,抓狂、敲键盘……
后来无意中发现是上面的writer语句缺少一个右括号!!! 很纳闷IDE 为什么不提示上一条语句报错,以至于将func函数的定义、函数体缩进等重写都无法去除错误,花费很多时间。
另外,还有一个可能的错误原因是,**缩进**。 所以在编写程序时,尽量避免使用 **空格** 键。
2、Python版本问题
这个错误常见的是在 print 函数调用时。 2.X中 print 函数调用格式为:print 3
或者 print "helloworld"
。而在 3.X中 调用格式为print(3)
或者 print("helloworld")
。