admin 管理员组

文章数量: 1184232


2024年3月10日发(作者:sessionscope)

Python 介绍

Python(KK 英语发音:/'paɪθɑn/, DJ 英语发音:/ˈpaiθən/)是一种面向对象、直译

式计算机程序设计语言,创始人为Guido van Rossum。这种语言的语法简捷而清晰,并且

具有丰富和强大的类库。python常被昵称为胶水语言,它能够很轻松的把用其他语言制作

的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快

速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合

适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

产生

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido

为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之

所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行

马戏团的爱好者。

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常

优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido

认为是非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中

闪现过但未曾实现的东西。

就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,

Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小

型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

执行

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),

然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟

Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine

不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是

通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而

是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可

以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

风格

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且

被大量用户所欢迎的、用途广泛的语言。Python直接编写的程序段有时运行效率甚至高于

用C编写的程序。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就

好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:There

should be one-- and preferably only one --obvious way to do it. 这正好和Perl语言(另一

种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do

It)完全相反。

缩进

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下

一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符

在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符

的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法

含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,

通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确

实使得程序更加清晰和美观。

优点

简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像

是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

易学:Python极其容易上手,因为Python有极其简单的语法。

免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布

这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS

是基于一个团体分享知识的概念。

高层语言:用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

以及Google基于linux开发的android平台。

解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)

转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同

的标记、选项完成。

运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python

语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻

译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更

加易于移植。


本文标签: 语言 程序 使用 设计