原文出处:http://blog.csdn.net/u010098331/article/details/52097845
【现象】
很多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
));
|
【总结】
正因为此问题,是Python初学者,最常遇到的问题。所以,才单独拎出来,特别说明一下的。
而关于Python 2.x和Python 3.x的更多的区别,不熟悉的,可以参考:
【整理】总结Python2(Python 2.x版本)和Python3(Python 3.x版本)之间的区别