zoukankan      html  css  js  c++  java
  • 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


     





  • 相关阅读:
    阿里云快速搭建Node.js开发环境
    初始化阿里云服务器
    docker上安装tomcat
    阿里云搭建支付宝小程序
    阿里云docker上安装redis
    WARN o.a.c.c.AprLifecycleListener [log,175] The Apache Tomcat Native library failed to load. The error reported was [no tcnative1 in java.library.path:
    阿里云快速搭建网站
    云服务器(CentOS系统)完全卸载mysql
    wumeismart编译运行和部署系统
    阿里云ssh关闭,保持jar程序运行
  • 原文地址:https://www.cnblogs.com/doit8791/p/6090955.html
Copyright © 2011-2022 走看看