O(1) 的小乐

Job Hunting

公告

记录我的生活和工作。。。
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

  • 随笔 - 182
  • 文章 - 1
  • 评论 - 41
  • 引用 - 0

留言簿(10)

随笔分类(70)

随笔档案(182)

文章档案(1)

如影随形

搜索

  •  

最新随笔

最新评论

阅读排行榜

评论排行榜

选择Python的理由

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,就是感觉好玩,没别的意思。。

posted on 2010-09-14 09:48 Sosi 阅读(478) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


统计系统