Python作为一种计算机程序设计语言,自20世纪90年代初诞生至如今被人们逐渐悉知,经过版本更新以及功能添加,已广泛应用于各种独立的、大型项目的开发。Python 已经成为最受欢迎的程序设计语言之一。

1、Python的发展历程

  1989年圣诞节期间,荷兰人吉多·范罗苏姆 (Guido van Rossum)开始开发Python语言编译程序,目的是将其作为ABC语言的一种继承。

  ABC语言是由Guido参与开发的一种教学语言,其目标是增强编程语言的可读性与使用性,并以此来激发人们学习编程的兴趣。Guido意图寻找一种介于C语言和Unix Shell之间的可拓展、易学易用、功能全面的语言,他寄期望于ABC语言,并认为ABC语言是一种专门为非专业程序员设计的相当优秀的语言,虽然ABC语言最终没有获得成功,但这也为Python的诞生提供了契机。

  1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C语言的库函数。Python具有类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。

  1994年1月:Python 1.0正式发布。

  2000年10月16日:Python 2.0发布,Python开发过程更加透明,社区影响力扩大,形成了良好的生态圈。Python 2稳定版本是Python 2.7。

  2008年12月3日:Python 3.0发布,它不完全兼容之前的Python 2,但由于Python 2.x在公司项目和运维中仍多有使用,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。

2、Python的优缺点

  Python语言的优点概括如下:

  简单易懂:一个良好的Python程序很容易理解,读起来就像一段自然的文字。它使你能够专注于解决问题而不是去搞明白语言本身。

  易学易用:Python极其容易上手,因为Python有极其简单的说明文档。

  运行速度快Python 的底层是用 C 语言写的,很多标准库和第三方库也是用C语言写的。

  开放源代码:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

  高层语言用Python语言编写程序的时候无需考虑程序的底层细节。

  解释性语言:Python语言写的程序不需要编译成二进制代码,可直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这也说明Python程序可移植性高。

  面向对象Python既支持面向过程的编程也支持面向对象的编程。

  可扩展性Python可以在多个层次上扩展。从高层上,你可以引入.py文件。在底层,你可以引用C语言的库。如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

  可嵌入性可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

  丰富的库Python标准库功能十分庞大,能帮助处理各种工作,如正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

  可读性强:Python语法很多来自C,但又受到ABC语言的强烈影响。比如采用强制缩进的语法规定使得代码容易读。

  Python语言的缺点概括如下:

  运行速度慢与C和C++相比执行效率较低。

  单行语句和命令行输出问题很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

  语法独特:以缩进来区分语句关系的方式容易造成使用者语法混乱。

3、Python的应用

  目前Python在系统编程,图形处理,网络编程、爬虫开发、云计算开发、人工智能、金融分析、自动化运维、科学运算等方面均有广泛应用。

4、查询Python相关职位薪资待遇

  以北京地区Python相关的职位为例,薪资待遇如下。

5、Python3.7的安装

1.进入python官网(https://www.python.org/downloads/windows/)下载python3.7,这里我下载的是Windows x86-64 executable installer,如下图。

2.下载完成后执行exe程序,进入安装界面。在选择路径安装时,勾选“Add Python  3.7  toPATH”,即默认添加用户变量,后续不用再添加。

3.后续操作全部默认选择即可,直到安装成功。

4.安装完成后示意图如下。

5.在开始菜单中搜索IDLE,双击运行。

初学Python:Python的发展历史及下载安装的更多相关文章

  1. Python 3.6.3 官网 下载 安装 测试 入门教程 (windows)

    1. 官网下载 Python 3.6.3 访问 Python 官网 https://www.python.org/ 点击 Downloads => Python 3.6.3 下载 Python ...

  2. python学习笔记(xlwt/xlrd下载安装)

    python支持处理Excel 可以使用xlwt xlrd 模块 分别在https://pypi.python.org/pypi/xlwt  和 https://pypi.python.org/pyp ...

  3. PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程

    一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...

  4. Anaconda是什么?Anconda下载安装教程(1)

    一.如果从事Python开发,配置环境需要安装两个包: 第一个安装开发工具,俗称IDE : 推荐使用 Pycharm 第二个安装开发工具包: Anaconda ps:Windows 下 Pycharm ...

  5. Anaconda是什么?Anconda下载安装教程(1)

    一.如果从事Python开发,配置环境需要安装两个包: 第一个安装开发工具,俗称IDE : 推荐使用 Pycharm 第二个安装开发工具包: Anaconda ps:Windows 下 Pycharm ...

  6. Python的发展历史及其前景

    Python的发展历史 1989年,吉姆·范罗苏姆为打发时间,决定为当时正构思的一个新的脚本语言编写一个解释器.作为派森的狂热粉丝,他以Python命名该项目,使用C进行开发. 1991年发布Pyth ...

  7. Python 发展历史

    1. Python发展历史 起源 Python的作者,Guido von Rossum,荷兰人.1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位.然而,尽管他算得上是一位数学家,但他更 ...

  8. python 学习之电脑的发展历史

    电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的.在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“的意思.古人用石头打猎,所以还有可能是石头来辅 ...

  9. [记录][python]python爬虫,下载某图片网站的所有图集

    随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集 ...

随机推荐

  1. Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  2. Python升级后ssl模块不可用问题解决和浅析

    在Cent0S 7.5下将Python 2.7.5升级到Python 3.6.6后,发现ssl模块不可用,具体详细信息如下所示: [root@db-server ~]# pip list Packag ...

  3. JVM-7-类加载机制

    什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构. ...

  4. javabean的内省(Introspector)

    内省是 Java 语言对 Bean 类属性.事件的一种缺省处理方法.例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值. 通过 getName/ ...

  5. 【Spring JDBC】NamedParameterJdbcTemplate(四)

    一.什么是具名参数 在经典的 JDBC 用法中, SQL 参数是用占位符 ? 表示,并且受到位置的限制.定位参数的问题在于, 一旦参数的顺序发生变化, 就必须改变参数绑定.在 Spring JDBC ...

  6. Umi + Dva + Antd的React项目实践

    记录一下最近项目所用到的技术React + Dva + Antd + umi ,以免忘记.之前没有用过它们其中一个,也是慢慢摸索,了解数据整个流程. 先了解下概念 React 不多说,3大框架之一: ...

  7. 集合系列 Queue(九):PriorityQueue

    PriorityQueue 是一个优先级队列,其底层原理采用二叉堆实现.我们先来看看它的类声明: public class PriorityQueue<E> extends Abstrac ...

  8. Zuul 修改 请求头、响应头 (死磕)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  9. 微软、IBM、GitLab 等大厂全部到齐的 OCS 第一天有什么看点?

    在本周一的推文中我们大致介绍了下 Open Core 峰会及到场嘉宾,(≧▽≦) 当然还有 Nebula Graph 在会场的展位位置图,本文我们来看看 Open Core 峰会第一天有哪些值得一看的 ...

  10. 【带着canvas去流浪(10)】文字烟花

    目录 一. 文字烟花 二. 动画原理 2.1 像素操作 2.2 烟花生成算法 2.3 计时器 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址 ...