为什么 Python2.7 坚持 Python3 打印语句?
Why does Python2.7 insist on Python3 print statement?
我试图了解鼻子和单元测试是如何在我正在学习的包中使用的。这个包使用了 numpy 自带的 nosetester(为什么这样做也让我很困惑)。我的 nosetester.py 在 /usr/local/lib/python2.7/dist-packages/numpy/testing/。我是 运行ning Python 2.7.6。但是,当我添加以下形式的跟踪语句时:
print "Hi"
到 NoseTester class 的 __init__ 方法,我得到一个语法错误:
File "/usr/local/lib/python2.7/dist-packages/numpy/testing/nosetester.py", line 182
print "Hi"
^
语法错误:语法无效
当我使用
print ("Hi")
一切正常。我知道我的 Python 解释器正在使用 2.7.6:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
这让我想知道为什么要坚持 Python3,还有什么地方我可以 运行 加入这个吗?
看起来 nosetester.py
有一行像
from __future__ import print_function
这使得 Python2 风格的打印语句 print "foo"
不可用,需要您改用 Python3 风格的打印函数 print("foo")
。
我试图了解鼻子和单元测试是如何在我正在学习的包中使用的。这个包使用了 numpy 自带的 nosetester(为什么这样做也让我很困惑)。我的 nosetester.py 在 /usr/local/lib/python2.7/dist-packages/numpy/testing/。我是 运行ning Python 2.7.6。但是,当我添加以下形式的跟踪语句时:
print "Hi"
到 NoseTester class 的 __init__ 方法,我得到一个语法错误:
File "/usr/local/lib/python2.7/dist-packages/numpy/testing/nosetester.py", line 182
print "Hi"
^
语法错误:语法无效
当我使用
print ("Hi")
一切正常。我知道我的 Python 解释器正在使用 2.7.6:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
这让我想知道为什么要坚持 Python3,还有什么地方我可以 运行 加入这个吗?
看起来 nosetester.py
有一行像
from __future__ import print_function
这使得 Python2 风格的打印语句 print "foo"
不可用,需要您改用 Python3 风格的打印函数 print("foo")
。