选择Python的理由
来源:互联网 发布:英国怎么用淘宝 编辑:程序博客网 时间:2024/04/29 15:59
最近准备学习一下动态语言,可选择的有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的理由
- 选择Python的理由
- 选择python的理由?
- 【Python】选择ipython替代python的理由
- 选择SOA的理由
- 选择php的理由
- 选择FLEX的理由
- 选择Curl的理由
- 选择zencart的理由
- 选择jquery的理由
- 选择archlinux的理由
- 选择Scala的理由?
- 选择的理由
- 选择logback的理由
- 选择Scala的理由?
- 选择Netty的理由
- 使用Python的理由
- 选择 PostgreSQL 的理由(整理)
- 在J2EE应用中安装及设置FCKeditor
- ASP.NET中Cookie编程的基础知识(二)
- Windows Server 2003 安全配置实战 copy
- 随机抽取n个记录的SQL
- 程序设计-网页
- 选择Python的理由
- 去掉图片按钮外围虚线
- 关于堆和栈的一些知识(转贴)
- 程序员的个人发展
- LCS配置需要注意的地方
- [学习笔记][ASP.NET]发现CuteEditor的一个小问题
- Microsoft 解决方案框架版本 3.0 概述(MSF3.0)
- 软件开发全过程检测及测试自动化
- .NET Framework 中多语言支持的实现