python看了也有一段时间了,但是由于不常用到,所以经常看了忘忘了又看,这次决定做个记录顺便梳理一下学过的内容。
查资料时恰好在github上看到这个项目https://github.com/jianglieshan/python-guide,查了下没发现中文资料,决定做个翻译。
本次为第一篇
开始
先选一个解释器
Python2和3的描述
当选择一个python解释器时,一个迫在眉睫的问题是:“该选择python2还是python3”,这个答案并不是可以轻而易举的选出来的
基本主旨的描述如下
1. python2.7作为python的标准已经有很长时间了。
2. python3引入了许多开发者们并不喜欢的语法上的变更。
3. python2.7在未来几年还将持续进行必要的,安全的更新。
4. python3还将继续变更,就想当年的python2一样
所以,你可以看出这不是一个简单的选择。
建议
我将选择python3 如果
·你不在乎
·你就喜欢用python3
·你对2和3漠不关心
·你不确定到底要选哪个
·你热爱改变
使用python2 如果
·你热爱python2,并且不希望以后使用python3
·不改变的语法和运行时有助于提高你的软件的稳定性(这句翻得好烂,原谅我的渣英语)
·你依赖的类库要求使用python2
所以。。。3?
如果你要随便选择一个python解释器,那么我建议使用最新的python3,因为每个版本都会带来新的标准库,模块,安全性和bug修复。只不过这需要一个过程。
考虑以上情况,除非你有很必要的原因,比如所用的类库只支持python2,没有适配python3,或者你仅仅是想我一样,就是喜欢使用python2。
看看 Can I Use Python 3? 还有那些软件可能会影响你完全适配python3
进一步阅读
有可能 write code that works on Python 2.6, 2.7, and3.3. ,其难度取决于你所写的项目,如果你还是个初学者,那么你还有更多更重要的东西是担心。
安装Python
当人们提到Python时,他们通常说的不仅仅是种语言,而是Cpython的实现。Python实际上是一种可以被多种方式实现的特定的语言。
CPython
CPython是Python的标准实现,用C语言编写,它把Python代码编译为解析器字节码,供虚拟机进行解释。CPython提供高兼容性的Python包以及C的扩展模块。
如果你要写开源的python程序,并且希望获得尽可能多的关注者,那么选择CPython是最合适的。要想使用C扩展的包,那么CPython也是你唯一的选择。
PyPy
PyPy是一个是由静态的python的子集称作RPython的语言实现的Python解释器。这个解释器的特点是时事编译,并且支持多中后端。(C,CLI,JVM)。
PyPy旨在最大限度兼容CPython的基础上,提升性能。
如果你寻求提高你Python代码性能的方法,那么PyPy值得一试。在基准测试套件上,PyPy比CPython要快5倍。
PyPy支持Python2.7,PyPy3发布仍在测试当中,旨在Python3。
Jython
Jython是把Python代码编译成java字节码,运行于JVM上的一种Python的实现。除此之外,它可以使用任何java类,就像是使用Python包一样。
IronPython
IronPython是Python在.Net平台上的实现。它可以用Python和.Net的类库,并且可以把Python代码提供给.Net平台上的其他语言进行调用。
PythonNet
Python for .Net是一个包,将原生的Python程序无缝移植到.Net的CLR上。这提供了一个和IronPython相反的实现,它们互相补充而不是竞争关系。
组合Mono,PythonNet可以让原生的Python安装在非windows的系统上,比如OS X和Linux,从而使用Linux的框架。它可以独立运行,和IronPython没有任何冲突。
PythonNet支持Python2.3到2.7。
http://pypy.org/compat.htmlhttp://wiki.python.org/jython/JythonFaq/GeneralInfo#Is_Jython_the_same_language_as_Python.3F
http://ironpython.codeplex.com/releases/view/81726
http://pythonnet.github.io/readme.html