python简介

python是少数几种有实力宣称自己是集简便与强大于一体的语言之一。
使用python你会惊奇的发现能够很轻松的将精力集中到解决的问题上而不是语言的语法与结构上。
python语言的官方介绍如下:
       python是一门易于学习,功能强大的程序设计语言。它具有高效的高级数据结构与简单但有效的面向对象
       编程机制。python那优雅的语法,动态类型与解释特性使其成为大多数平台上理想的脚本和快速开发语言
在下一节我将详细介绍其中的大多数特性。

 

笔记
     python语言的创始人Guido van Rossum以BBC播出的"巨蟒飞行马戏团"(Monty Python's Flying Circus)命名python.

     而他本人并不喜欢那些为了食物卷起长长的身体并压碎猎物的蛇.

 

python特色
简单

       python是一门极简主义语言。阅读python程序感觉就象是在阅读英语一样,虽然这门英语具有严格的语法规定!
       python这种类似伪代码的特性是它最棒的优点之一。使得你能够集中精力到所解决的问题上而不是语言本身.
易学
       你即将看到,python具有非常简单的语法, 很容易上手.
免费并且开源
       python是FLOSS(Free/Fibre and Open Source Software)的一个范例,简单的说你可以自由分发这个软件,
       阅读代码,进行修改,或是将其部份的用到其他开源软件中。FLOSS基于社区应该彼此分享知识的理念,
       这也是python如此优秀的原因之一 -- 从它诞生以来就不断的被一个社区改进,这个社区希望它可以变的更好.

高级语言
       当你使用python编程时无需顾虑底层细节,比如存储器管理.
可移植
       由于python的开源特性,它已经被移植到很多平台。只要注意避免平台相关调用你的python程序就可以运行在所有这些平台之上。
       其中包括Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, 
       z/OS, Palm OS, ONX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE 
       甚至PocketPC!

解释性
       这里需要说明一下, 由编译型语言诸如C/C++编写的源代码会被编译器转换为机器可以执行的语言(机器语言,0和1的组合),
       其中编译器拥有一些列的标志与选项控制它的编译方式. 当你运行程序时链接/加载器会将程序从磁盘拷贝到内存然后执行之。
       与之相反python程序不需要被编译成二进制码,程序直接在源代码级"运行".
       但在内部,python会将源码转换为被称为字节码的中间码形式之后再将其翻译为所在计算机的本地码最后运行之。

       如此,使用python就非常简便了,因为省去了编译过程也用不着考虑如何连接/加载正确的程序库.
       这也使得python程序拥有非常好的可移植性,只要将程序拷贝到其他的电脑然后运行就OK了!

面向对象
       python既支持面向过程也支持面向对象编程。在面向过程的语言中,程序围绕可复用的过程或者函数创建。
       而在面向对象的语言中,程序围绕可以组合数据与相应操作的对象创建。
       python以一种非常强大但又简明的方式支持OOP(注: 面向对象编程),与那些庞大的语言相比(诸如c++/java)这点更为突出.

可扩展
       如果你需要让关键代码运行的更快或是希望算法的某部分避免公开,可以使用c或c++编写它们并在python中进行调用。
可嵌入
       可以将python嵌入到你的C/C++程序中给予用户使用脚本的能力.

丰富的程序库
       python标准库已经非常庞大, 它可以帮助你实现各种任务, 包括正则表达式, 文档生成, 单元测试, 多线程, 
       数据库, web浏览器, CGI, FTP, 电子邮件, XML, XML-PRC, HTML, wav文件, 加密, GUI(图形用户界面), Tk
       以及系统相关功能. 而这一切只需安装python即可拥有, 此被称作python的"Batteries Included"哲学.
       除此之外, python还有许多高质量的第三方库可供使用, 
       wxPython(http://www.wxpython.org), 
       Twisted(http://www.twistedmatrix.com/products/twisted),
       Python Imaging Library(http://www.pythonware.com/products/pil/index.htm)
       等等等等...

python如此强大另人兴奋, 它将性能与语言特性良好的组合到一起使得编程成为一件简单轻松的事情.

 

为什么不选择Perl?
听说过Perl吗? 它是另一门非常流行的开源的解释型程序设计语言.

如果你曾试图用它编写大型程序, 我想你自己已经有了这个问题的答案.
换言之, perl擅长小型程序, 这时用起来比较方便. 但是在编写稍大的程序时perl很快就会变的难以使用.
我可不是信口开河, 这是我在Yahoo!编写大型perl程序的亲身体会.
而与之相比, python更加简单, 清晰, 容易编写, 因此也更容易理解与维护.
我个人也是喜欢perl的并且用它解决各种日常问题, 但在编写前我总是优先考虑python, 可见它已经成为我的条件反射
了. perl经历了那么多的修改与变更, 感觉就象一个超大号补丁语言. 遗憾的是即将到来的perl 6似乎并没有对此作出任
何改善. 在我看来perl目前唯一的重大优势就是它的CPAN了(http://cpan.perl.org).
perl资料大全网(Comprehensive Perl Archive Network), 顾名思义一个丰富无比的perl模块网, 其深广度另人难以置信,

你几乎可以利用这些资源完成任何计算机任务. perl比python拥有更多库的原因之一是它拥有更悠久的历史.
不过随着python包索引(Python Package Index)(http://pypi.python.org/pypi)的增长, 这一优势正在改变.

 

为什么不使用Ruby?
也许你还不知道, ruby同样是一个非常流行的开源的解释型程序设计语言.
如果你已经喜欢上ruby, 我会明确建议你继续使用下去. 而对于那些没有用过ruby并且正在犹豫是学python还是ruby的同学.

纯粹以简单易学的角度我会推荐python. 就个人来说我发现自己真的很难对ruby感冒, 但那些懂ruby的人全都赞叹这门语言的美丽,

很遗憾, 我没这么幸运.

 

看看程序员门怎么说
你可能会对象ESR这样伟大的黑客们关于python的评论感兴趣:
• Eric S. Raymond是"大教堂与集市"(The Cathedral and the Bazaar)的作者也是"开源"一此的创造者.
   他说python已经成为他非常喜爱的程序设计语言(http://www.linuxjournal.com/article.php?sid=3882)
   也正是这篇文章另我心动, 决定一试python
• Bruce Eckel是著作"java编程思想"(Thinking in Java)和"C++编程思想"(Thinking in C++)的作者
   他说没有任何语言令他的工作效率如此高. 他还说也许python是唯一一个旨在让程序员更简便完成任务的语言.
   更详尽的访问内容(http://www.artima.com/intv/aboutme.html)
• Peter Norvig即著名的Lisp语言作者并担任Google的搜索质量主管(感谢Guido van Rossum指出这点).
   他说python已经成为Google不可或缺的一部分. 
   事实上你可以通过Google Jobs(http://www.google.com/jobs/index.html)证实这点.

   里面指出具有python知识是成为Google软件工程师的必要条件.

 

关于Python 3.0
python 3.0是python语言的新版本, 有时它被称做Python 3000或Py3K.
升级的主要原因在于移除一些小问题并将那些累积了数年的毛病解决掉, 使得语言更加整洁.
如果你有很多python 2.x代码, 这个工具有助于将其转到3.x代码(http://docs.python.org/dev/3.0/library/2to3.html)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值