龟叔和他的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. 【系统安全性】四、认证Authentication

    四.认证Authentication 1.为什么要认证 对请求.数据进行认证,判断伪造的数据 HTTP请求很脆弱,抓包软件很强大,容易伪造身份,非法获取数据 2.摘要认证 对象:客户端参数.服务端响应 ...

  2. Ubuntu管理员密码设置

    最近学习嵌入式编程,首先准备搭建一个嵌入式开发环境. 由于想省钱,就准备搭建一个虚拟的arm系统用于测试学习. 虚拟系统搭建与linux系统上,暂定使用Ubuntu+qemu进行环境搭建. 在进行Ub ...

  3. linux get current thread count and system threads limit

    get current thread count grep -s '^Threads' /proc/[0-9]*/status | awk '{ sum += $2; } END { print su ...

  4. Lucene字段

    字段是最低单元或索引过程的起点.它代表其中一个键被用于识别要被索引的值的键值对关系.用于表示一个文件的内容的字段中将具有键为“内容”和值,可以包含文本或文档的数字内容的部分或全部. Lucene可以索 ...

  5. babel/core 6.x升级到7.x要碰到的一些坑

    刚学习react.js没多久,碰到各种坑.就比如这个问题,弄了我3个小时,终于解决了.其实就是一个小问题. 报错信息: Error: Cannot find module '@babel/core' ...

  6. NIO 源码分析(01) NIO 最简用法

    目录 一.服务端 二.客户端 NIO 源码分析(01) NIO 最简用法 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) J ...

  7. Xn数列

     题目描述 Description 给你6个数,m, a, c, x0, n, g Xn+1 = ( aXn + c ) mod m,求Xn m, a, c, x0, n, g<=10^18 输 ...

  8. ubuntu16.04安装python虚拟环境

    自己也是搜的教程,亲测有效 ubuntu16.04创建虚拟环境 一.linux环境 Ubuntu16.04 二.安装和配置虚拟环境 安装虚拟环境 sudo pip install virtualenv ...

  9. Mysql 主从限制数据库

    主库配置 # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/serv ...

  10. 文件上传到ftp服务工具类

    直接引用此java工具类就好 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...