python是一种解析性的,交互式的,开源的面向对象的编程语言,类似于perl、tcl、scheme或java。
python是一种面向对象、直译式的计算机程序设计语言,也是一种功能强大的通用型语言,已经具有二十多年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。python的语法非常简捷和清晰,与其它计算机程序设计语言最大的不同在于,它采用缩进来定义语句块。
python的官方介绍是:python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,能简单而有效地实现面向对象编程。python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的很多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
python支持命令式编程、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与scheme、ruby、perl、tcl等动态语言一样,python具备垃圾自动回收功能,能够自动管理内存使用。python经常被当作脚本语言用于处理系统管理任务和web编程,然而它也非常适合完成各种高阶任务。python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、pypy、pyinstaller之类的工具可以将python源代码转换成可以脱离python解释器执行的程序。
python的主要参考实现是cpython,它是一个由社区驱动的自由软件。目前由python软件基金会管理。基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
python - 历史由来
python 是一种开源的面向对象的脚本语言,它起源于1989年末,当时,cwi(阿姆斯特丹国家数学和计算机科学研究所)的研究员guido van rossum需要一种高级脚本编程语言,为其研究小组的amoeba分布式操作系统执行管理任务。为创建新语言,他从高级数学语言abc(all basic code)汲取了大量语法,并从系统编程语言modula-3借鉴了错语处理机制。van rossum把这种新的语言命名为python(大蟒蛇)---来源于bbc当时正在热播的喜剧连续剧“monty python”。
python 于1991年初公开发行,由于功能强大和采用开源方式发行,python的发展得很快,用户越来越多,形成了一个强大的社区力量。2001年, python的核心开发团队移师digital creations公司,该公司是zope(一个用python编写的web应用服务器)的创始者。大家可到http://www.python.org/上了解最新的python动态和资料 。
python - 功能介绍
python是一种很灵活的语言,能帮你轻松完成编程工作。并可作为一种原型开发语言,加快大型程序的开发速度。
python有多种数据类型:numbers,strings (ascii 和 unicode),lists,dictionaries。
python支持类和多层继承等面向对象编程技术。
python代码能打包成模块和包,方便管理和发布。
python支持异常处理,能有效捕获和处理程序中发生的错误。
python具有强大的动态数据类型,不同数据类型相加会引发一个异常。
python支持如生成器和列表嵌套等高级编程功能。
python支持自动内存碎片管理,有效利用内存资源。
python有强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变得相当容易。
python的交互命令行模块能方便地进行小代码调试和学习。
python易于扩展,可以通过c或c++编写的模块进行功能扩展。
python解析器可作为一个编程接口嵌入一个应用程序中。
python可运行在多种计算机平台和操作系统中,如各位unix,linux,windows,macos,os/2等等。
python是开源的,可自由免费使用和发布,并且可用于商业用途以获取利润。
python - 应用范围
系统编程,能方便进行系统维护和管理。
图形处理,有pil、tkinter等图形库支持,能方便进行图形处理。
数学处理,numpy扩展提供大量与许多标准数学库的接口。
文本处理,python提供的re模块能支持正则表达式,还提供sgml,xml分析模块,许多程序员利用python进行xml程序的开发。
数据库编程,程序员可通过遵循python db-api(数据库应用程序编程接口)规范的模块与microsoft sql server,oracle,sybase,db2,mysql等数据库通信。python自带有一个gadfly模块,提供了一个完整的sql环境。
网络编程,提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
web开发,web应用的开发语言,支持最新的xml技术。
多媒体应用,python的pyopengl模块封装了“opengl应用程序编程接口”,能进行二维和三维图像处理。pygame模块可用于编写游戏软件。
python - 特点
简单:python是一种代表简单主义思想的语言。阅读一个良好的python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:就如同你即将看到的一样,python极其容易上手。前面已经提到了,python有极其简单的语法。
开源:python是floss(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。floss是基于一个团体分享知识的概念。这是为什么python如此优秀的原因之一,它是由一群希望看到一个更加优秀的python的人创造并经常改进着的。
高层语言:当你用python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那 么你的所有python程序无需修改就可以在下述任何平台上面运行。这些平台包括linux、windows、freebsd、macintosh、 solaris、os/2、amiga、aros、as/400、beos、os/390、z/os、palm os、qnx、vms、psion、acom risc os、vxworks、playstation、sharp zaurus、windows ce甚至还有pocketpc和symbian。
解释性:这一点需要一些解释。一个用编译性语言比如c或c++写的程序可以从源文件(即c或c++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用python更加简单。由于你只需要把你的python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的python程序更加易于移植。
面向对象:python即支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他 主要的语言如c++和java相比,python以一种非常强大又简单的方式实现面向对象编程。
可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用c或c++编写,然后在你的python程序中使用它们。
可嵌入性:你可以把python嵌入你的c/c++程序,从而向你的程序用户提供脚本功能。
丰富的库:python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、cgi、ftp、电子邮件、xml、xml-rpc、html、wav文件、密码系统、gui(图形用户界面)、tk和其他与系统有关的操作。记住,只要安装了python,所有这些功能都是可用的。这被称作python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxpython、 twisted和python图像库等等。