初学Python:Python的发展历史及下载安装
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的发展历史及下载安装的更多相关文章
- Python 3.6.3 官网 下载 安装 测试 入门教程 (windows)
1. 官网下载 Python 3.6.3 访问 Python 官网 https://www.python.org/ 点击 Downloads => Python 3.6.3 下载 Python ...
- python学习笔记(xlwt/xlrd下载安装)
python支持处理Excel 可以使用xlwt xlrd 模块 分别在https://pypi.python.org/pypi/xlwt 和 https://pypi.python.org/pyp ...
- PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程
一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...
- Anaconda是什么?Anconda下载安装教程(1)
一.如果从事Python开发,配置环境需要安装两个包: 第一个安装开发工具,俗称IDE : 推荐使用 Pycharm 第二个安装开发工具包: Anaconda ps:Windows 下 Pycharm ...
- Anaconda是什么?Anconda下载安装教程(1)
一.如果从事Python开发,配置环境需要安装两个包: 第一个安装开发工具,俗称IDE : 推荐使用 Pycharm 第二个安装开发工具包: Anaconda ps:Windows 下 Pycharm ...
- Python的发展历史及其前景
Python的发展历史 1989年,吉姆·范罗苏姆为打发时间,决定为当时正构思的一个新的脚本语言编写一个解释器.作为派森的狂热粉丝,他以Python命名该项目,使用C进行开发. 1991年发布Pyth ...
- Python 发展历史
1. Python发展历史 起源 Python的作者,Guido von Rossum,荷兰人.1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位.然而,尽管他算得上是一位数学家,但他更 ...
- python 学习之电脑的发展历史
电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的.在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“的意思.古人用石头打猎,所以还有可能是石头来辅 ...
- [记录][python]python爬虫,下载某图片网站的所有图集
随笔仅用于学习交流,转载时请注明出处,http://www.cnblogs.com/CaDevil/p/5958770.html 该随笔是记录我的第一个python程序,一个爬去指定图片站点的所有图集 ...
随机推荐
- Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Python升级后ssl模块不可用问题解决和浅析
在Cent0S 7.5下将Python 2.7.5升级到Python 3.6.6后,发现ssl模块不可用,具体详细信息如下所示: [root@db-server ~]# pip list Packag ...
- JVM-7-类加载机制
什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构. ...
- javabean的内省(Introspector)
内省是 Java 语言对 Bean 类属性.事件的一种缺省处理方法.例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值. 通过 getName/ ...
- 【Spring JDBC】NamedParameterJdbcTemplate(四)
一.什么是具名参数 在经典的 JDBC 用法中, SQL 参数是用占位符 ? 表示,并且受到位置的限制.定位参数的问题在于, 一旦参数的顺序发生变化, 就必须改变参数绑定.在 Spring JDBC ...
- Umi + Dva + Antd的React项目实践
记录一下最近项目所用到的技术React + Dva + Antd + umi ,以免忘记.之前没有用过它们其中一个,也是慢慢摸索,了解数据整个流程. 先了解下概念 React 不多说,3大框架之一: ...
- 集合系列 Queue(九):PriorityQueue
PriorityQueue 是一个优先级队列,其底层原理采用二叉堆实现.我们先来看看它的类声明: public class PriorityQueue<E> extends Abstrac ...
- Zuul 修改 请求头、响应头 (死磕)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- 微软、IBM、GitLab 等大厂全部到齐的 OCS 第一天有什么看点?
在本周一的推文中我们大致介绍了下 Open Core 峰会及到场嘉宾,(≧▽≦) 当然还有 Nebula Graph 在会场的展位位置图,本文我们来看看 Open Core 峰会第一天有哪些值得一看的 ...
- 【带着canvas去流浪(10)】文字烟花
目录 一. 文字烟花 二. 动画原理 2.1 像素操作 2.2 烟花生成算法 2.3 计时器 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址 ...