Python 3.x 在 python(x,y) 上?
我正在搭建一个类似于Matlab的环境,所以我下载了最新版本的python(x,y),里面包含了所有的模块,并且还下载了python 3.4.1。请问python(x,y)是不是不支持最新版本的python?我注意到因为python(x,y)的命令行界面没有自动把数学运算结果转换成浮点数,我了解到这是python 2.x和3.x之间的一个区别。我是不是只能等(x,y)的新版本发布,还是说我在这里漏掉了什么?
3 个回答
我感觉原来的问题主要是关于python(x,y)这个工具和Python 3的。对此,我的(比较长的)回答是:
我用了这个工具很多年,觉得它不错。不过对我来说,似乎没有计划去升级它,以支持Python 3的环境。
现在我会推荐Anaconda这个工具(https://www.anaconda.com/)。它和python(x,y)的想法很相似,但维护得更好,并且支持“最新的一切”。
你可以通过下面的命令让Python 2在除法运算上表现得和Python 3一样:
from __future__ import division
从__future__
导入的内容应该放在文件的最上面。可能有办法自动加载这个表达式(我知道在IPython中是可以的),但我对python(x,y)不太熟悉。
想要更深入了解Python,可以去python.org上做一些教程。推荐使用最新的Python3版本。
既然你正在转型,不妨看看SciPy(http://www.scipy.org)和Sage(http://www.sagemath.org/tour.html)。这些工具可能更适合你需要解决的问题。
如果你经常在终端进行交互式操作,可以看看ipython(http://ipython.org)。
关于除法运算符,在Python2中默认是整数除法,但在Python3中则是普通除法。你可以在启动解释器时使用-Q标志来改变这个设置。(可以输入:python --help)例如:
$ python2.7 -Qnew
Python 2.7.6 (default, Nov 18 2013, 15:12:51)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0.5
>>>
$ python2.7
Python 2.7.6 (default, Nov 18 2013, 15:12:51)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0
>>>
$ python3.4
Python 3.4.1 (default, May 21 2014, 01:39:38)
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/2
0.5
>>>