跳到主要内容

Python 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于 PHP 和 Perl 语言。
  • Python 是交互式语言:这意味着,您可以在一个 Python 提示符,直接互动执行写你的程序。
  • Python 是面向对象语言:这意味着 Python 支持面向对象的风格或代码封装在对象的编程技术。
  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 www 浏览器再到游戏。

Python 的历史

Python (发音:['paɪθɑn] )是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年设计,并于1991年公开发行第一个发行版。

Python 之父 Guido van Rossum

1982年,Guido 从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。

1989年,为了打发圣诞节假期,Guido 开始写 Python 语言的编译/解释器。Python 的名字来自 Guido 所挚爱的电视剧 Monty Python’s Flying Circus (BBC 1960-1970 年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做 Python 的语言,能实现他的理念(一种 C 语言和 shell 脚本之间、功能全面、易学易用、可扩展的语言)。Guido 作为一个语言设计爱好者,已经有过设计语言的(虽然不是很成功)的尝试。这一次,也不过是一次纯粹的 hacking 行为。(再次说明多给程序员放假的重要性!) 1991年,第一个 Python 编译器(同时也是解释器)诞生。它是用 C 语言实现的,并能够调用 C 库(.so文件)。

然而,时过境迁,Python 从 2000 年发布的 2.0 版本,到 2010 年的 2.7 版本,再到如今的 3.x 版本,Python 在各行各业的应用越来越广泛了。无论在自动化运维、Web 领域、数据挖掘与分析,还是机器学习与人工智能,甚至是教育行业都大放异彩。正如它的 slogan:人生苦短,我用 Python。

我觉得在互联网时代,不管你从事什么行业和岗位,都应该学一下 Python,是不是?

Python 的特点

  1. 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  2. 易于阅读:Python 代码定义的更清晰。
  3. 易于维护:Python 的成功在于它的源代码是相当容易维护的。
  4. 一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX,Windows 和 Macintosh 兼容很好。
  5. 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
  6. 可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
  7. 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
  8. 数据库:Python 提供所有主要的商业数据库的接口。
  9. GUI编程:Python 支持 GUI 可以创建和移植到许多系统调用。
  10. 可嵌入:你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得"脚本化"的能力。

跨平台特性

Python 的解释型语言特性决定了它天生是跨平台的。Python 的解释器有很多,使用最广泛的依然是 C 语言实现的 CPython。除此之外,还有 Java 实现的 Jython 和 .Net 实现的 IronPython 等等。

需要注意的是,虽然 Python 是跨平台的,但是 Python 的一些包却不是跨平台的。比如 GUI 模块,可能依赖于 SDL、GTK、Qt、Java,甚至是 Windows 环境的,这时候就需要根据不同的平台做调整。

Python 应用场景

虽然 Python 是一种通用语言,可用于编写任何类型的程序,但它最常用于编写下述应用程序:

  • 脚本:这些简短的程序自动执行常见的管理任务,如在系统中新增用户、将文件上传到网站、在不使用浏览器的情况下下载网页等。
  • 网站开发:作为快速创建动态网站的工具,DjangoBottleZope 等众多 Python 项目深受开发人员的欢迎。例如,深受欢迎的新闻网站 www.reddit.com 就是使用 Python 开发的。
  • 文本处理:Python 在字符串和文本文件处理方面提供了强大的支持,包括正则表达式和 Unicode。
  • 科学计算:网上有很多卓越的 Python 科学计算库,提供了用于统计、数学计算和绘图的函数。
  • 教育:鉴于 Python 简洁实用,越来越多的学校将其作为第一门编程教学语言。

当然,Python 并非对任何项目来说都是最佳选择,其速度通常比 C/C++ 等编译型语言要慢,因此开发操作系统时不会使用 Python。然而,需要最大限度地减少程序员花在项目上的时间时,Python 通常是最佳选择。