zoukankan      html  css  js  c++  java
  • (一)python的前世今生

    一:Python介绍

                 python的创始人为吉多·范罗苏姆(Guido van Rossum)(目前还活着),诞生于1989年,是一个脚本解释程序,由于python语言结构优美,清晰简单,随着人工智能的兴起,越来越被广泛使用。

     Python目前应用领域有:

    1、云计算

    2、web开发(Python开发的网站例如,Youtube, Dropbox, 豆瓣........... 典型WEB框架有Django)

    3、人工智能,科学运算大数据分析(如机器人领域、美团配送路线的数据分析........)

    4、自动化运维(可以写自动化工具,运维攻城狮必备良药!)

    5、金融领域数据分析(国内python最早使用的就是做金融数据分析,原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测)

    6、图形GUI(python支持图形界面的第三方库,例如wxWidgets、QT、GTK)

    Pythony应用的一些公司:

    1、谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发

    2、YouTube视频网站

    3、Dropbox,美国的云存储网站

    4、Redhat:  Linux发行版中的yum管理工具就是用python开发的

    5、豆瓣

    6、还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪等一些游戏和应用

    当然啦!还有很多可以参考https://www.zhihu.com/question/19555512     https://www.python.org/about/success/

    二:Python语言的特点

            编程语言主要分:

    编译型和解释型、静态语言和动态语言、强类型定义和弱类型定义。

            那么问题来了?编译型和解释型的区别

    编译型:编译时把每一条语句都编译成机器语言也就是二进制文件,计算机在运行的时候直接执行编译后的二进制文件,所以运算很快

                  例如:C、C++、go、Object-C、Pascal

    解释型:在python中,我们写好代码后,解释器会执行两个动作

                  例如:Python、Ruby、PHP、

                  1、把原始代码编译成字节码

                  2、把编译好的字节码转发到Python虚拟机(PVM)中进行执行

           一张图秒懂

    混合型的语言有JAVA、C#

          动态语言VS静态语言

    1、动态语言只有在运行的时候下去检查数据类型,不需要单独声明数据类型。例如a=1直接把整数1赋值给变量a

    2、静态语言在编译过程中就要检查数据类型,在写代码的时候就要声明属性类型。例如 int a  声明变量a为整型

         强类型定义VS弱类型定义

    1、强类型指一个数据类型如果你不经过特殊转换,那么他不可能去改变,例如a=1,他就是一个整型

    2、弱类型与之相反,一个变量可以赋予不同类型的数据

    Python是一种解释型动态的强类型语言

    Python的优缺点

           优点

    1、语言明确、简单、清晰,入门快

    2、第三方库强大,开发效率高,不需要掌握特别多的底层细节

    3、可移植性,几乎适用于所有的平台上运行

    4、扩展性、嵌入性,可以在别的语言中植入Python代码

          缺点:

    1、相比编译型语言,在运行速度上慢一些

    2、代码不能加密,由于是解释型的,都是以源文件加文件名存在的

    3、线程不能利用CPU问题

    三:Python解释器

    CPython

    当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器: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的字节码。

    END   ---------------------------------------------------------------------------------------------------

  • 相关阅读:
    9. Palindrome Number
    7. Reverse Integer
    650. 2 Keys Keyboard
    646. Maximum Length of Pair Chain
    523. Continuous Subarray Sum
    516. Longest Palindromic Subsequence
    dp问题解题思路
    494. Target Sum
    小波变换网文精粹:小波:看森林,也看树木(一)
    数学、海豚和花朵
  • 原文地址:https://www.cnblogs.com/Mr-wx/p/8450618.html
Copyright © 2011-2022 走看看