python代码报错(invalid syntax)

Python016

python代码报错(invalid syntax),第1张

如果安装了最新版本的Python3.x版本之后,参考别人的代码(基于Python2.x写的教程),去利用print函数,打印输出内容时,可能会遇到print函数的语法错误:SyntaxError:invalidsyntax这是因为Python2.x升级到Python3.x,print函数的语法变化了,所以用Python2.x的print函数的代码,放在Python3.x中运行,结果就出现了print函数的“SyntaxError:invalidsyntax”了。Python2.x和Python3.x中print函数语法方面的区别:Python2.x:print“所要打印的内容”,不带括号。Python3.x:print函数(”所要打印的内容”),必须带括号。所以想要解决这个问题,最好先查看下电脑上安装的python版本,根据版本来修改报错的代码。

【现象】

很多Python初学者,在安装了最新版本的Python 3.x版本,比如Python 3.2之后,

去参考别人的代码(基于Python 2.x写的教程),去利用print函数,打印输出内容时,结果却遇到print函数的语法错误:

SyntaxError: invalid syntax

比如,虽然找个例子的截图为:

【原因】

这是因为,你正在用的Python版本是Python 3.x,而参考别人的代码是Python 2.x的代码,而由于Python 2.x升级到Python 3.x,print函数的语法变化了,

所以你用Python 2.x的print函数的代码,放在Python 3.x中运行,结果就出现了print函数的“SyntaxError: invalid syntax”了。

即,这也是Python初学者,第一个最容易遇到的问题:

在安装了(最新版本的)Python 3.x后,去运行(参考了别人的)Python 2.x的print函数的代码,结果就是遇到了print函数的语法错误:SyntaxError: invalid syntax

【Python 2.x和Python 3.x中print函数语法方面的区别】

最简洁的解释为:

Python 2.x: print函数(所要打印的内容)不带括号

Python 3.x: print函数(所要打印的内容),必须带括号

举例来说明,即为:

1.不带百分号格式化的

python 2.x:

?

1

print "Pyhon 2 can use print string without ()"

python 3.x:

?

1

print("Python3, print must use () to output string")

2. 带百分号格式化的

Python 2.x:

?

1

print "old %s version is %d, print no ()"%("Python", 2)

Python 3.x:

?

1

print("new %s version is %d, print must have ()"%("Python", 3))