zoukankan      html  css  js  c++  java
  • python0.1-----pyhon的优缺点,为何学习python

     

    python历史:

      1989年开发完成,1991年发布第一个版本

    创始人:

      Guido van Rossum(荷兰人)

     

    python的特点:

        解释性:python是一种解释性语言,计算机直接运行.py脚本,在运行的时候将每个语句翻译成为cpu能过识别的机器码。

       易于学习:关键字少,不需要大量的记忆。

       可移植:能够较好的将python源代码跨平台在unix,linux,windows上。

       可扩展:如果希望加密某些代码,可以用c/c++/java编写,在python脚本里调用它。

       可嵌入:可以在c/c++/java文件里面调用python脚本。

    python的缺点:

    运行速度慢:因为python是解释性语言,运行python的时候必须先将.py的每一句先解释为机器码,然后cpu才能运行。作为对比,c/c++/java这类编译型的语言,它们在运行源代码前,会将.c/.cpp文件编译成为机器码,计算机只需要运行这些机器码就可以了。因此,python除了要运行机器码,还多了一个解释的过程,运行速度慢也是没办法避免的。

     

    无保密性:python脚本不能编译,因此对外发布的时候所有python从业者都可以读懂该脚本。而c/c++/java源代码经过编译编程机器码。一般的从业者不能读懂机器码,因此,c/c++/java开发者只需要对外发布机器码就可以了。

    python的缺点这么明显,为什么又要学习python呢?

    回答这个问题之前,首先要引入两个概念:数据密集型任务和I/O密集型任务

    数据密集型任务:该任务频繁使用cpu进行计算,速度很快。

    I/O密集型任务:该任务频繁使用硬盘,读写需要花费很长时间,或者频繁进行网络的请求,网络的等待也需要很长时间。

     

        因此对于需要大量计算的任务,即数据密集型任务,要求cpu对程序运行速度很快,c/c++/java更合适,python是应付不过来的。

        对于I/O密集型任务,cpu对于python脚本的运行速度不快,但是这些任务实际上也需要花费很长的时间,因此不要求cpu对于任务的执行速度有多快。python在完美胜任这些任务同时可以发挥python的特点。

    本次python系列:

    0.x表示python基础知识。

    1.x表示python的库。

    2.x表示python实战。

  • 相关阅读:
    java中为什么notify()可能会导致死锁,而notifyAll()则不会
    java中wait()和sleep()的区别;notify()和notifyall()区别
    你不知道的Golang盲点汇总【持续更新】
    rsync性能终极优化【Optimize rsync performance】
    基于cephfs搭建高可用分布式存储并mount到本地
    检测代码潜在bug和质量之SonarQube
    玩透二叉树(Binary-Tree)及前序(先序)、中序、后序【递归和非递归】遍历
    好用到哭!8个技巧让Vim菜鸟变专家
    Golang fmt Printf 格式化参数手册/详解/说明
    淘宝滑动验证码研究
  • 原文地址:https://www.cnblogs.com/yulianggo/p/9182151.html
Copyright © 2011-2022 走看看