Python起源与发展
Python的创始人为吉多*范罗苏姆(Gudio van Rossum)

1.1989年的圣诞节期间,吉多*范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为ABC语言的一种继承。
2.ABC是由吉多参加设计的一种教学语言,就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,
究其原因,吉多认为是非开发造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果。
3.之所以选中Python(蟒蛇)作为程序的名字,是因为他是BBC电视剧--蒙提*派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。
4.1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件。
1.Python的设计目标
1999年,吉多*范罗苏姆向DARPA提交了一条名为”Computer Programming For Everybody”的资金申请,并在后来说明了他对Python的目标:
1.一门简单直观的语言并与主要竞争者一样强大
2.开源,以便任何人都可以为它做贡献
3.代码像纯英语那样容易理解
4.适用于短期开发的日常任务
这些想法中的基本都已经成为现实,Python已经成为一门流行的编程语言
2.Python的设计哲学

1. Python开发者的哲学是:用一种方法,最好是只有一种方法来做一件事
2.如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或很少有歧义的语法
在Python社区,吉多被称为“仁慈的独裁者”
3.为什么使用Python
同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下Python是Java的1/5,所以说人生苦短,我用Python。


来自TIOBE官网 https://www.tiobe.com/tiobe-index/
4.Python的特点
4.1 Python是完全面向对象的语言
函数、模块、数字、字符串都是对象,在 Python中一切皆对象
完全支持继承、重载、多重继承
支持重载运算符,也支持泛型设计
4.2 Python拥有一个强大的标准库,Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、
文本处理、数据库接口、图形系统、XML处理等额外的功能
4.3 Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、人工智能、机器学习、Web开发、数据库接口、图形系统多个领域
5.Python的优缺点
5.1 优点
简单、易学
免费、开源
面向对象
丰富的库
可扩展性
PS:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这 部分程序用C或C++编写,然后在Python程序中使用它们
5.2 缺点
运行速度
国内市场较小
中文资料匮乏
6.Python的2.X与3.X
目前市场上有两个 Python的版本并存着,分别是Python2.x和Python3.x
新的Python程序建议使用Python 3.0版本的语法
6.1 Python 2.x是过去的版本
解释器名称是python
6.2 Python 3.x是现在和未来主流的版本
解释器名称是python3
相对于 Python的早期版本,这是一个较大的升级
为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容
许多早期Python版本设计的程序都无法在Python 3.0上正常执行
Python 3.0发布于2008年
到目前为止,Python 3.0的稳定版本已经有很多年了
- Python 3.3 发布于2012
- Python 3.4 发布于2014
- Python 3.5 发布于2015
- Python 3.6 发布于2016
6.3 为了照顾现有的程序,官方提供了一个过渡版本 - - Python2.6
基本使用了Python 2.x 的语法和库
同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数
2010年中推出的Python 2.7被确定为最后一个Python 2.x版本
PS:如果开发时,无法立即使用Python 3.0(还有极少的第三方库不支持3.0的语法),建议:
1.先使用Python 3.0版本进行开发
2.然后使用Python 2.6、Python 2.7来执行,并且做一些兼容性的处理
Python起源与发展的更多相关文章
- Java起源、发展历程、环境变量、第一个Java程序等【1】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...
- Python入门第一课——Python的起源、发展与前景!
我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Pyt ...
- Python起源发展与学(ru)习(keng)的开篇
写在前面,python天下第一!!!!!我要做python的舔狗
- python之 python 起源、语言特点
一. 1.1 什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...
- python起源,变量,用户交互,流程语句
1.Python的起源 Python是一门解释型弱类型编程语言. 特点:简单.明确.优雅 2.Python解释器 CPython官方提供的, 内部使用C语言来实现 PyPy,一次性把我们的代码解释成字 ...
- Cookie起源与发展
上一篇我们在讲优酷弹幕爬虫的时候,引入了一个新的知识点:Cookie,由于篇幅有限当时只是简单的给大家介绍了一下它的作用,今天我们就来全面了解一下Cookie(小饼干)以及相关的知识! 相信很多同学肯 ...
- day01 python起源 介绍 解释器 变量 流程控制if
day01 python 一.python的起源 1.python简介 java 企业级应用, android, app c 操作系统, 做开发语言的, 游戏的内核 ...
- Python小白的发展之路之Python基础(二)
列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表.元组操作 (1)列表 列表是可变的(mutable)--可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
随机推荐
- Java web的安全约束--Basic验证
要进行basic验证是用户名/口令机制,当浏览器要访问受保护的资源时,服务器会要求一个用户名和口令,只有输入了合法的用户名和口令.服务器才发送资源.用户名和口令可以存储在安全域中.安全域是标识一个We ...
- 收缩事务日志(sqlserver)
sqlserver数据库的日志文件其实是由很多个逻辑上的日志文件组成,我们可以通过命令看一下数据库日志文件 可以看到的是sqlserver数据库日志文件是由很多文件组成的,当数据库日志文件已满的时候 ...
- SVN:验证位置时发生错误解决方案
1. 2. 3.preferencens > svn >svn接口-选择SVNKit(Pure Java)设置后,再引用svn路径后,直接弹出输入用户名和密码就对了. 4.
- ubuntu 可以加速播放的播放器SMPlayer 16.4安装
直接贴命令 sudo apt-add-repository ppa:rvm/smplayer sudo apt-get update sudo apt-get install smplayer smp ...
- 为什么ssh一关闭,程序就不再运行了?
问题描述 当SSH远程连接到服务器上,然后运行一个程序,eg: ./test.sh, 然后把终端开闭(切断SSH连接)之后,发现该程序中断. 原因 主要元凶: 挂断信号(SIGHUP) 信号 概念介绍 ...
- 20165322 2017-2018-2《Java程序设计》课程总结
20165322 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:做中学learning by doing个人感想 预备作业 ...
- Playrix Codescapes Cup (Codeforces Round #413, rated, Div. 1 + Div. 2) C. Fountains 【树状数组维护区间最大值】
题目传送门:http://codeforces.com/contest/799/problem/C C. Fountains time limit per test 2 seconds memory ...
- HDU 1071 The area(求三个点确定的抛物线的面积,其中一个点是顶点)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1071 The area Time Limit: 2000/1000 MS (Java/Others) ...
- ES6 基础概念汇总
let const命令 声明变量 let 声明的变量 没有变量提升的效果 1 let声明的变量只在代码块内有效 for循环的计数器 2 不存在变量提升 要在声明后使用 let bar = 2 3 ...
- .NET MVC伪静态
说明:MVC中的伪静态跟我们的WebForm里面的伪静态不一样(详情:配置伪静态(URL重写)) 由于我们的MVC中存在路由,所以我们不必去处理每个访问的页面进行重写,我们完全可以再配置一个路由让他显 ...