一:编程和编程语言
python是一门编程语言。抛去编程不说,这首先是一门语言。其实,与我们的英语,法语,西班牙语都一样都是作为沟通的工具。但是,与人类语言不通的是,它是用来与机器沟通的方式。而我们所写出来的所有的英文标注都是python 的关键字。我们英语中所用的语法就好比是python中的语法,而作文就是python中的程序。是不是听上去不难。
一:语言历史
1946年2月14号,世界上第一台计算机ENIAC诞生了,使用的是最原始的穿孔卡片。这种卡片上使用的语言是只有专家才能够理解的语言,与人类语言差别极其大,这种语言就称为机器语言。机器语言是第一代计算机语言。这种语言本质上是计算机能识别的唯一语言,人类很难理解。以后的语言就是在这个的基础上简化而来。虽然后来发展的语言能让人类直接理解但最终送入计算机的还是这种机器语言。
计算机语言发展到第二代,出现了汇编语言。汇编语言用助记符代替了操作码。用地址符号或标号代替地址码。这样就用符号代替了机器语言的二进制码。汇编语言也称为符号语言。 比起机器语言,汇编大大进步了。尽管还是复杂,用起来容易出错,但在计算机语言发展史上是机器语言像更高级的语言进化的桥梁。
当计算机语言发展到第三代时,就进入了“面向人类”的高级语言 。高级语言是一种接近于人们使用习惯的程序设计语言。它允许用英文写计算程序,程序中得符号和式子也与日常用的数学式子差不多。高级语言发展于上世纪50年代中叶到70年代,流行的高级语言已经开始固化在计算机内存里了。比如basic语言。
现在,计算机语言仍然在不断的发展,种类也相当多,比如FORTRAN语言,COBOL语言,C语言,C++,PASCAC,JAVA等等。
二:编程语言分类
以下三种是机器语言发展的三个阶段
1.机器语言:站在计算机的角度上,编写计算机能够听的懂的语言,那就是直接用二进制编程,直接操作硬件
2.汇编语言:还是站在计算机的角度上,而简写的英文标识符取代二进制,但本质上还是直接操作硬件
3.高级语言:这一次我们终于站在我们自己的角度上来,去编写程序,说人话。即用人类的字符编写程序,屏蔽了硬件操作。
3.1 汇编型:(需要编辑器,相当于谷歌翻译。)特点是:执行速度快,调试麻烦。
3.2解释型:(需要解释器,编一行,翻译一行)特点是:执行速度慢,调试方便。
以上三种语言的执行速度从高到低,学习难度从高到低。开发效率从低到高。
三:python的介绍
介绍:
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
(这就是程序猿的装逼)
目前python主要领域应用
#1. WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架) #2. 网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单 #3. 爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥 #4. 云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算 #5. 人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。 #6. 自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python #7. 金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言 #8. 科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛 #9. 游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的
python解释器的发展
# 1989年,Guido开始写Python语言的编译器。 # 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。 # Granddaddy of Python web frameworks, Zope 1 was released in 1999 # Python 1.0 - January 1994 增加了 lambda, map, filter and reduce. # Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础 # Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生 # Python 2.5 - September 19, 2006 # Python 2.6 - October 1, 2008 # Python 2.7 - July 3, 2010 # In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible # Python 3.0 - December 3, 2008 (这里要解释清楚 为什么08年就出3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本) # Python 3.1 - June 27, 2009 # Python 3.2 - February 20, 2011 # Python 3.3 - September 29, 2012 # Python 3.4 - March 16, 2014 # Python 3.5 - September 13, 2015 # Python 3.6 - 2016-12-23 发布python3.6.0版
---恢复内容结束---