最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

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

StringEncoding crifan 13266浏览 0评论

【现象】

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

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

SyntaxError: invalid syntax

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

python 3.x 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:

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


python 3.x:

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

 

2. 带百分号格式化的

Python 2.x:

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

Python 3.x:

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 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

    93 queries in 0.145 seconds, using 22.16MB memory