龟叔和他的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. python 如何自动发送测试报告

    首先,下载HTMLTestRuner.py文件. 源地址:http://tungwaiyip.info/software/HTMLTestRunner.html ,其次:把下载好的HTMLTestRu ...

  2. 树莓派 omv 安装 nextcloud

    https://www.toutiao.com/i6447470450145493517/ https://www.technikaffe.de/anleitung-402-howto_nextclo ...

  3. 简单介绍Collection框架的结构

    Collection:List列表,Set集 Map:Hashtable,HashMap,TreeMap Collection  是单列集合 List   元素是有序的.可重复 有序的 collect ...

  4. \t \r \n转义字符

    t \r \n都是转义字符,空格就是单纯的空格,输入时可以输入空格 \t 的意思是 横向跳到下一制表符位置 \r 的意思是 回车 \n 的意思是回车换行 所有的转义字符和所对应的意义: 转义字符 意义 ...

  5. C#基础-->cookie和session

    关于cookie和session cookie 1:一个cookie中可以存放的数据最大在4KB左右 2:cookie存放于客户端 3:cookie分为两种  一种是会话cookie  一种是持久co ...

  6. DNF邀请码开发再开发方案需求

    一.原因分析:   1.现实原因:主播粉丝量级有限,一定规模粉丝注册消耗完后无法进 行之后合作 2.主播资源有限,能合作主播数量少   3.直播粉丝真实接近核心用户,但是不能将其有效转化为平台流水   ...

  7. apache+tomcat配置负载均衡,实现http与websocket接口分压

    一.应用场景 在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量.Apache本身带有一些模块,可以完成对应用 ...

  8. Mysql优化-典型的服务器配置

    内存配置相关参数 mysql内存分配需要考虑到操作系统需要使用的内存,其他应用程序所要使用的内存,mysql的会话数以及每个会话使用的内存,然后就是操作系统实例所使用的内存.生产环境的mysql往往都 ...

  9. HTTP状态码(转)

    转自菜鸟教程:https://www.runoob.com/http/http-status-codes.html HTTP状态码共分为5种类型: HTTP状态码分类 分类 分类描述 1** 信息,服 ...

  10. [转]mybatis-generator 代码自动生成工具(maven方式)

    由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的 ...