http://blog.csdn.net/indexchen/archive/2005/12/07/546204.aspx
最近准备学习一下动态语言,可选择的有perl、Python、Ruby,通过查看相关评论和比较,决定选择Python作为学习对象:-)。
Python是一种面向对象的解释型、交互式语言。它既有脚本语言的简易,又有C++,java等语言的强大功能。
下面看一下Python的优势:
1 - 简单。
Python的语法比Perl,Java,C,C++相比要简单很多,实现同样功能只需java、C++代码量的1/3或1/5。简单是Python的设计原则,它的各方面都始终围绕该原则,也从中得到很多益处。
由于语言本身比较简单,因此Python学习起来相对容易,上手很快;由于简单,代码更容易阅读和维护,对提软件质量有极大帮助。因为现在开发的系统都很复杂,如果工具再复杂,系统维护成本会极高。
由于代码量较少,因此可以减少输入,提高开发效率,一条语句可能就可实现C++要10条语句才能实现的功能。由于硬件性能的大副提高,开发效率的重要性正变得比运行效率更重要。
看几个python实现的例子
(1)将一个目录下文件全部复制到另一个目录
import os,shutil
for f in os.listdir(sdir):
shutil.(sdir+"/"+f,ddir)
sdir和ddir为源目录和目标目录,执行时要用实际名称
(2)输出文本文件的每一行
f = open(textfile,'r')
for line in f:
print line
f.close()
(3)将文件rawfile 压缩为zip文件
import zipfile
z = zipfile.ZipFile('my.zip','w',zipfile.ZIP_DEFLATED)
rf = open(rawfile,'rb')
z.writestr(rawfile,rf.read())
rf.close()
z.close()
如果上述例子用java或c++来实现,代码量会多出很多。
2 - 开放。
Python可以和现有的主流语言和环境交互,如果觉得Python解释型语言不能提供足够的速度,可以在Python中调用C、C++编写的模块;在不需要速度的地方,可以用Python快速实现,然后在C、C++中调用Python的模块。
Jython提供了Python和Java之间的交互,已有的java代码不会丢弃,可继续使用。
对于COM、.Net,Python也可与之进行交互,甚至可将Python作为脚本在浏览器中调用。
3 - 丰富的库
Python的库提供了计算环境中所涉及的几乎所有功能,如果没有,你也可以自己实现。从用户图形接口到网络编程,从Web应用到数据库接口,还有和操作系统接口,该接口符合POSIX标准。你还可以用Python来开发游戏、图象处理、人工智能、数学库等等。
4 - 可移植性
Python是解释型语言,没有编译连接过程,它由Python解释器执行,因此Python代码可不作修改在不同操作系统上执行。目前Python支持几乎所有流行的操作系统。列表可到www.python.org 详查。
5 - 免费
Python是开源项目,能从网络上免费获得Python系统。你还可以将Python嵌入在你的产品中,包括商业产品。
6 - 丰富的资源
在www.python.org可以得到很多的资源,能帮助你解决在使用过程中遇到的各种问题,目前全球使用Python的人数在50到100万之间,如此人气还有什么问题不能解决。
7 - Google也将Python作为主要的编程语言,这也和Google的简略风格很相符。
还有很多,在学习过程中再去体验。
呵呵,还是老路子。。选择Python,就是感觉好玩,没别的意思。。