Python 简介

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 通常是最佳选择。

Bruce Eckel 说:”Life is short, you need Python

Python is a good programming language. It’s readable, object, open source, loaded with tons of functions, extensible, scalable, interfacable with other languages, multiplatform (Dos, Windows, Macintosh, OS/2, Linux, Solaris…). It’s easy, fast and fun to learn. You can hack fully-functionnal programs rapidly. There are even RAD environments to construct complex graphical user interfaces (like Delphi or VB). On the other hand, it’s not as fast as compiled C.

You can freely download Python and its documentation at http://www.python.org. You will find plenty of very interesting links at http://www.python-eggs.org/links.html (including links to french sites).

更多

Leave a Reply