龟叔和他的python

经过了漫长的旅程,终于要看到主角Python了。Python是现在非常非常流行的编程语言,在我们能看到的大部分编程语言排行榜中,Python都能在前三甲中拥有一席之地 ,并且发展势头非常之猛,可以这么说Python是一门非常非常有前途的语言。

  那么Python到底是一个什么样的语言呢?今天我们就来一起了解一下。吉多·范罗苏姆,是一位荷兰的程序员,被中国程序员戏称为龟叔。他就是传说中的Python之父。也正是这样一个人设计创造了Python这个编程语言。

  ▲ Guido Van Rossum

  编程语言的发明过程都是类似的,大部分都是起源于对于现状的不满,Python也不能免俗。吉多在设计Python之初,市面上已经存在有很多种不同的编程语言了,但似乎每种语言都不是那么的完美。C语言很强大,但是语法复杂,学习成本高,使用起来也比较麻烦。Shell很简单易用,但功能又不够强大,很多事都无法完成。在这个背景下,吉多就想设计一款功能强大而又语法简洁的新语言。

  在1989年的圣诞节,吉多为了打发时间,开始着手编写新语言的解释器。这里我们提一下解释器,关于一门编程语言,可以简单的把它分成两个部分语法和解释器。语法指的是一些语法规则,各种语句啊,如何定义变量啊等等一系列的规则。而解释器的作用就是将符合这一系列规则的代码转换为机器码的程序。所以解释器程序开发完成,这门编程语言也就完成了。就这样,吉多利用一个圣诞节的时间开发了新语言的解释器。

  吉多是一个非常有意思的人,当时电视上非常流行一个电视剧蒙提·派森的飞行马戏团。吉多也非常喜欢看,于是直接使用剧团的名字来为这个语言命名,Python由此诞生。

  ▲ 蒙提派森剧团

  Python的设计哲学是“优雅”、“明确”、“简单”,如果之前你使用过其他的语言,再来使用Python,一定会被它的简洁、优雅所震惊。Python将语法中一切不必要的内容全部去除,仅留下一些必备的东西,使得Python的语法变得十分简洁。换句话说,和其他语言相比Python可以编写更少的代码而做更多的事。《Java编程思想》的作者Bruce Eckel这样评价Python:“life is short you need python”,这句话充分的说明了Python的简洁性。

  ▲Bruce Eckel

  Python的语法简洁,功能却不简单。C语言能做的事,在Python中也能完成。但是Python是一门解释型语言,C是一门编译型语言。所以Python的性能没有C语言那么好,但不要以为这样就完了,在Python中可以直接调用C语言的代码,所以如果你觉得性能不够好,可以直接在Python中使用C语言去编写部分代码。除了可以直接调用C和C++的代码,也可以在别的语言中调用Python的代码。所以,很多人将Python作为一个胶水语言使用(通过Python将不同的语言混合使用)。

  Python就是这样一个优雅、明确、简单并且功能强大的语言,夸张一点说Python是一个近乎完美的语言。

  关于Python的特点,这里我不想赘述。刚刚接触到一个新语言,我们不需要过多的去记忆一些理论上的东西,只需要大概有个印象就足够了,这里你只需要记住两个特点:第一,Python是一门脚本(解释型)语言。第二,Python是一门面向对象的编程语言。啥是面向对象?管它呢,以后再说。

  最后,我们要谈一下Python的作用,Python可以做的事非常非常多(可以这么说基本上全都能做),比如:网络应用的开发(网站),桌面软件的开发,自动化运维,科学计算、云计算、人工智能。总之,在所有的开发领域都能看到Python的身影,而对于我们来说,这意味着学会了Python我们可选择的方向也会非常非常的多。但是,先不要考虑方向的问题,我们一步一步的来,学会了Python,其他的东西也就不远了。

Python匹马行天下之python之父的更多相关文章

  1. Python匹马行天下之面向对象

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...

  2. Python匹马行天下之_循环

    一.while循环 如果条件成立(true),重复执行相同操作,条件不符合,跳出循环 while   循环条件: 循环操作 (1)while循环示例 例:输入王晓明5门课程的考试成绩,计算平均成绩 1 ...

  3. Python匹马行天下之运算符

    什么事运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算 ...

  4. Python匹马行天下之初识python!

    python的发展史 1989年,被称为龟叔的Guido在为ABC语言写插件时,产生了写一个简洁又实用的编程语言的想法,并开始着手编写.因为其喜欢Monty Python喜剧团,所以将其命名为pyth ...

  5. Java匹马行天下之Java帝国的崛起(大结局)

    Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...

  6. Java匹马行天下——开篇

    个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...

  7. Java匹马行天下之JavaWeb核心技术——JSP

    JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要在特定的web服务器上运行,分为web服务器和web客 ...

  8. Java匹马行天下之JavaWeb核心技术——JSP(续一)

      十二.JSP表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网 ...

  9. Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少

    ————也许我注定成不了一个伟大的人,但是至少我可以做一个很棒的自己.我想我现在应该做的不是瞻前顾后,而是活在当下,正确认知自己,做好自己现在的工作,努力提升自己的能力,踏踏实实地做一个程序员 一.思 ...

随机推荐

  1. eclipse中svn的各种图标详解

    参考:http://blog.sina.com.cn/s/blog_637810b101018xw0.html - 已忽略版本控制的文件.可以通过Window → Preferences → Team ...

  2. word中怎样把文档里的中文以及中文字符全选?

    word中怎样把文档里的中文以及中文字符全选? 参考: 百度 案例: 有个文档是中英文混杂的 现在需要把中文以及中文字符全部设置成别的颜色 应该怎样操作? 有80多页 别说让我一个一个的设置 以wor ...

  3. 探索C++的秘密之详解extern

    转载:http://developer.51cto.com/art/200704/46843.htm C和C++对函数的处理方式是不同的.extern "C"是使C++能够调用C写 ...

  4. UI自动化ADB出现devices offline的解决方法

    终端运行如下命令即可解决: adb kill-server adb start-server adb remount

  5. D题 Robots 【期望】

    Robots Given a directed graph with no loops which starts at node 11 and ends at node nn.There is a r ...

  6. 第六篇 xpath的用法

    使用pycharm debug调试效率会比较慢,因为每次调试都需要向url发送请求,等返回信息,scrapy提供一种方便调试的功能,如下: >>>(third_project) bi ...

  7. window 对象常见的事件

    1.页面加载事件 方式1:window.onload = function(){ } window.addEventListener('load',function(){ }) window.onlo ...

  8. 获取文件或目录的属性 stat 函数

    头文件:  <sys/types.h>   <sys/stat.h>   <unistd.h> int stat(const char *path, struct ...

  9. nginx打包成rpm

    [root@localhost ~ ]#yum -y install lrzsz pcre pcre-devel zlib zlib-devel vim nrt-tools psmisc gcc gc ...

  10. ConcurrenHashMap介绍1.8 中为什么要用红黑树

    java8不是用红黑树来管理hashmap,而是在hash值相同的情况下(且重复数量大于8),用红黑树来管理数据. 红黑树相当于排序数据.可以自动的使用二分法进行定位.性能较高. 在Concurren ...