关于Python高分

关于Python高分

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!

解释性————这一点需要一些解释。

一个用编译性语言比如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图像库等等。

概括————Python确实是一种十分精彩又强大的语言。

它合理地结合了高性能与使得编写程序简单有趣的特色。

Python在编程语言中的定位

很多大规模软件开发计划例如 zope, mnet 及 bittorrent. google都在广泛地使用它。

通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,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常被昵称为胶水语言,这不是说他会把你的手指粘住,而是说他能够很轻松的把用其他语言制作的各种模块(尤其是c/c++)轻松地联结在一起。

常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3d游戏中的图形渲染模块,速度要求非常高,就可以用c++重写。

Python的不适之处

虽然Python是一个非常成功的语言,但对于习惯其他语言的程序员,有两个地方会让他们感觉略有不适。

1. 强制缩进

这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。

即便是很有经验的Python程序员,也可能陷入陷阱当中。

最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

2. 单行语句和命令行输出问题

很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。

而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。

(对很多用户而言这也不算是限制)

首页