关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因

关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因


【现象】

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

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

SyntaxError: invalid syntax

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

关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因_第1张图片

 

【原因】

这是因为,你正在用的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 ));

 

【总结】

正因为此问题,是Python初学者,最常遇到的问题。所以,才单独拎出来,特别说明一下的。

而关于Python 2.x和Python 3.x的更多的区别,不熟悉的,可以参考:

【整理】总结Python2(Python 2.x版本)和Python3(Python 3.x版本)之间的区别


你可能感兴趣的:(Python开发)