2013-09-24 218 views
-1

我刚刚在Python 3的'print'上发现了语法错误,并且通过搜索,我发现在较新的python版本中print语句被print函数替换(http://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function)。Python旧打印语句

那么python 3之前的“打印”是什么?它是如何实现的?是否有可能创建类似于函数那样的陈旧的'print'语句?

+1

'print'是Python 2.7中的一个语句,不是函数。 – TerryA

+1

Python2:'print foo'。 Python3:'print(foo)'。 – devnull

回答

3

正如你所说,这是一个声明。语句在解释器级别处理,因为每个人在解析树中都有自己的规则;所以你不太可能将自己的语句添加到语言中(不修补解释器和编译器代码),Python的设计并不是,而是可扩展的。

还有一些规定作出这种黑客,你可以采取的方式一看from future import ...作品:

​​

1

如果你想的Python 2代码转换到Python 3,你可以使用2to3脚本。 参见http://docs.python.org/2/library/2to3.html

+0

_ [你的答案在另一座城堡中:何时答案不是答案?](http://meta.stackexchange.com/questions/225370/your-answer-is-in-another-castle-when-is-的回答 - 不的回答)_ – MickyD