Python学习笔记

一、Python起源
        Python起源于荷兰人Guido van Rossum为打发1989年的圣诞节而设计,公开发行于1991年,标准、纯粹的自由软件,标准、源码、解释器都是开源的。
        Python的显著特点是优雅简洁,易读易维护易扩展,有丰富的第三方类库可使用,开发效率远高于经典的OO语言,如JAVA,被广泛应用于任务处理、数据分析处理、Web编程领域。
二、Python与NodeJs对比
速度
node.js基于libuv和V8,有npm生态;Python也可以基于libuv,pypy,Cython,有更强大的pip管理器。全部加持后,node.js/python/golang在一个数量级别。
 
异步
node.js全部是异步,我使用Twisted、Tornado、gevent,Python3后异步选择更多。
 
技术栈覆盖
node.js、Python都覆盖嵌入式、桌面、服务器,但是Python还覆盖到IC(VHDL),科学数据分析,金融数据分析。但是前端与UI渲染是Javascript的领域。此外,移动APP也是JS胜出。
 
与其他语言交互
Python的特征之一:可以访问底层语言的,C/C++ DLL/so,Java类库,.net等。所以多用于整合旧有系统。
https://www.zhihu.com/question/20961574/answer/129668021

    总之,从前后端一致性、年青、灵活性、异步性能方面讲Node占优势;从标准、成熟度、团队开发代码易维护易扩展方面见Python更好些,这方面在团队协作方面尤为重要,避免团队开发把时间浪费在攻读文档,提出标准、讨论库还有调试琐碎的代码上。
三、Python解释器

Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

CPython

当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

本教程的所有代码只确保在CPython


 





原文地址:https://www.cnblogs.com/doit8791/p/6090955.html