python 应用领域介绍 & 企业应用的优缺点

python 应用领域介绍

      Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。

 

 下面就让我们一起来看看它的强大功能:

  Python(派森),它是一个简单的、解释型的、交互式的、可移植的、面向对象的超高级语言。这就是对Python语言的最简单的描述。

  Python有一个交互式的开发环境,因为Python是解释运行,这大大节省了每次编译的时间。Python语法简单,且内置有几种高级数据结构,如字典、列表等,使得使用起来特别简单,程序员一个下午就可学会,一般人员一周内也可掌握。Python具有大部分面向对象语言的特征,可完全进行面向对象编程。它可以在MS-DOS、Windows、Windows NT、Linux、Soloris、Amiga、BeOS、OS/2、VMS、QNX等多种OS上运行。

  编程语言

  Python语言可以用来作为批处理语言,写一些简单工具,处理些数据,作为其他软件的接口调试等。Python语言可以用来作为函数语言,进行人工智能程序的开发,具有Lisp语言的大部分功能。Python语言可以用来作为过程语言,进行我们常见的应用程序开发,可以和VB等语言一样应用。 Python语言可以用来作为面向对象语言,具有大部分面向对象语言的特征,常作为大型应用软件的原型开发,再用C++改写,有些直接用Python来开发。

  数据库

  Python在数据库方面也很优秀,可以和多种数据库进行连接,进行数据处理,从商业型的数据库到开放源码的数据库都提供支持。例如:Oracle,Ms SQL Server等等。有多种接口可以与数据库进行连接,至少包括ODBC。有许多公司采用着Python+MySql的架构。因此,掌握了Python使你可以充分利用面向对象的特点,在数据库处理方面如虎添翼。

 Windows编程

  Python不仅可以在Unix类型的操作系统上应用,同样可以在Windows系统里有很好的表现。通过添加PythonWin模块,就可以通过COM形式调用和建立各种资源,包括调用注册表、ActiveX控件以及各种COM等工作,最常见的例子就是通过程序对Office文档进行处理,自动生成文档和图表。
  通过Python,还可以利用py2exe模块生成exe应用程序。还有许多其他的日常维护和管理工作也可以交给Python来做,从而减少维护的工作量。利用Python,你还可以开发出象VB,VC,Delphi那样的GUI程序,但却可以在多个平台上执行。这在许多方面并不逊色于Java。

多媒体 
  
  利用PIL、Piddle、ReportLab等模块,你可以处理图象、声音、视频、动画等,从而为你的程序添加亮丽的光彩。动态图表的生成、统计分析图表都可以通过Python来完成。另外,还有OpenGL。利用PyOpenGl模块,你可以非常迅速的编写出三维场景。

  科学计算 
  Python可以广泛的在科学计算领域发挥独特的角色。有许多模块可以帮助你在计算巨型数组、矢量分析、神经网络等方面高效率完成工作。尤其是在教育科研方面,可以发挥出独特的优势。

  网络编程
  Python可以非常方便的完成网络编程的工作,提供了众多的解决方案和模块,可以非常方便的定制出自己的服务器软件,无论是c/s,还是b/s模式,都有很好的解决方法。

  工具集: 
  Soket编程 
  CGI,Freeform 
  Zope,CMF,Plone,Silva,Nuxeo CPS… 
  WebWare 
  Twisted 
 CherryPy 
  SkunkWeb 
  Quixote 
  4Suite Server 
  Spyce 
  Albatross 
  Cheetah 
  mod_python

  协议: 
  http 
  ftp 
  gopher 
  XML-PRC 
  SOAP 
  POP 
  SMTP

  图形用户界面
  
  Python可以非常方便的实现GUI编程,通过Tkinter,wxPython,QT等等模块,你就可以根据需要编写出强大的跨平台的用户界面程序。

开发环境与编辑器

  Python程序的开发工具比较多,目前主要的工具既有IDLE,PythonWin这样的免费工具, 也有一些商业性的工具。通过这些工具,可以让你更为快速的完成工作。

  集成开发环境(IDE): 
  IDLE:这是Python里边自带的,基本上可以满足一般开发需要,请参考cnIDLE。 
  PythonWin:这是基于Windows平台的编辑开发环境,基本上可以满足一般开发需要。 
  PythonWorks Pro 
  Wing IDE 
  Komodo 

代码编辑器: 
  LEO:完全由Python编写的程序代码编写辅助工具,可运行在多种操作系统中,支持独特的程序代码管理方式。 
  gVim:相当专业的代码编辑器,可运行在多种操作系统中,支持Python扩展。
  Emacs:Unix系统中常用的工具。 
  SciTE:简单易用的代码编辑器,支持unicode编辑。

  嵌入和扩展 

  Python可以嵌入到其它应用程序中,也可以通过C/C++编写扩展模块,从而可以提高程序的运行速度或者完成只有通过C/C++才能完成的工作。现在Python已经可以和C#相结合,并且结合到Visual Studio里边,实现微软的.Net思想。如果你会C语言,再学习Python,这将是一个非常棒的一种选择。

如果你掌握了 Python,想在Java里应用它,你可以采用Jython。Jython是采用Java语言实现的Python。这样,你只要按照Python的语法,就可以调用Java的各种类库,快速的编写出基于Java的程序。也就是通过Jython,编写Java程序。这样就可以更为快速的实现Java的功能。Python在面向对象方面和Java是相通的。

  除了c/c++和java, Python 目前还可以和Delphi、VB结合。

  游戏编程 

  Python在很早的时候就是一种游戏编程的辅助工具。在《星球大战》中扮演了重要的角色。在“阿贝斯(Abyss)”、“星球之旅(Star Trek)”、“Indiana Jones”超级大片中担当特技和动画制作的工业光魔公司(Industrial Light)就采用Python制作商业动画。目前,通过Python完全可以编写出非常棒的游戏程序。

  企业与政务应用 
  
  目前,Python已经成功的实现企业级应用,在全球,已经有很多公司采用Python进行企业级软件的开发和应用,比如:ERP和CRM这样的应用。同时,通过Python技术,成功的实现了许多政务应用。

  用Python写的较大的系统有:

  Zope:一个应用程序服务器,具有内容管理、团队开发、XML、面向对象、SOAP接口等一系先进特性,且开放源码。参见:www.zope.com。

  Gadfly:一个用Python写的面向对象关系型数据库,具有小巧、快速、可移植性好,具有大部分SQL语言特性,且开放源码。参见:http://www.chordate.com/gadfly.html。

  还有一些比较有名的公司也在用Python进行原型的开发,如Microsoft、IBM等,还有:

  红帽(Red Hat )曾用Python和Tk一起成功开发配置和管理操作系统的可视界面。整个系统可以全面控制Linux操作系统,并根据用户选择对配置文件作自动更新。

  Infoseek在其公用搜索引擎使用了Python。该公司还用Python对其软件进行定制,使最终用户能对该网站内容进行方便下载。  

  感兴趣的读者,可以到www.python.org上下载一个下来试试。

 

 

 

python企业应用的优缺点

 

--------------------------------------------------------------------------------
http://www.sinait.com.cn 2006-06-28 中国IT渠道在线
 

    Python是软件开发领域一朵诱人的奇葩:人们经常把Python看作是一种起到缝合作用的严格脚本语言,不过却很少有人意识到Python已经足够强大到应用于工业级软件开发领域。Python的年岁比Java老,到现在,这种语言已经发展出了规模虽然不大但仍然在成长中的自描述企业应用 Pythonistas。 

    虽然人们经常把Python同Perl相比较,把它们看作一种专门应用于Internet的脚本语言,然而,Python已确实在大规模的软件开发领域占据了自己的一席之地。这种脚本编程语言具有以下显著特点: 

    * 面向对象 
    * 解释语言 
    * 交互式 
    * 模块化 
    * 动态性 
    * 高级语言 
    * 可移植 
    * 可用C和C++扩展 

    Python整合了各种模块、异常、动态输入、高级动态数据类型和类等概念。它同多种系统函数和系统库乃至各类Windows系统建立了接口。 

    如果说Python并不一定能渗透到任何计算领域的话,至少在企业开发这一行它的处境就是这样。在企业开发领域, Python还被当成一种可以替换Perl的脚本语言。本文就对Python构造企业级应用这一问题做简短阐述。 

    优点 

    Python语言的某些特点使其成为企业应用的合理选择: 

    * 免费可用(像Perl一样,Python也是开放源代码软件)。 
    * 稳定(Python目前已发布到2.2版,我刚才已经提到,它的年头比Java还老)。 
    * 良好地支持对象、模块和其他可重用机制。 
    * 采用C和Java语言的集成方便性和扩展性。 

    以上这些特性非常有利于Python在企业中的应用,不过,Python还具有一些适合企业应用但却不太令人注意的其他合理因素。 

    开发和维护的成本节约 

    IT部分通常要完成的任务相当繁重但支撑这些工作的资源却很少,这已经成为公开的秘密。任何承诺提高编码效率、降低软件总成本的IT解决方案都应该进行周到的考虑。Python所具有的一个显著优势就是可以在企业的软件创建和维护阶段节约大量资金,而这两个阶段的软件成本占到了软件整个生命周期中总成本的50%到95%。 

    Python清晰可读的语法使得软件代码具有异乎寻常的易读性,甚至对那些不是最初接触和开发原始项目的程序员都能具有这样的强烈感觉。虽然某些程序员反对在Python代码中大量使用空格,不过,几乎人人都承认Python代码的可读性远胜于C或者Java,后两者都采用了专门的字符标记代码块结构、循环、函数以及其他编程结构的开始和结束。提倡Python的人还宣称,采用这些字符可能会产生显著的编程风格差异,使得那些负责维护代码的人遭遇代码可读性方面的困难。 

    Python明晰的语法使其成为一种学习曲线平和的编程语言。有经验的程序员甚至可能在一天之内就掌握Python的基础知识,至多不过一周作用就可以上手,而编程语言的专家则肯定会比他掌握C、C++、Java甚至Perl要快很多。 

    Python因其语法的明晰而获得的最大好处或许该算是开发时间的大大降低了。一名从事企业级应用程序开发工作的开发人员告诉我,他所在单位的开发时间因为Python的采用而大大节约,同时却并没有给软件性能带来任何负面影响,他说:“就我们的业务而言,快速地开发出新产品比开发出性能惊人的软件产品要重要得多,开发时间相比软件的优化要贵得多(以每小时计算)。 

    对开发速度采用何种评价标准一直是个很难确定的问题,不过通常情况下,普遍认为开发Python应用程序的速度大约是用Java开发同类应用程序速度的10倍。要是相比C/C++节约的时间就更多了。 

    内容管理框架 

    用Python创建的Zope是开放源代码领域使用最广泛和最容易理解的内容管理框架。这种工具可以让了解Python的程序员以相比JSP/ASP更少的时间来创建和部署具有高度交互性的网站,在这种框架下,网站属主可以非常轻松地修改网站的内容而无须程序员的介入。 

    Zope投入实用已经有若干年的时间了,目前,特别在欧洲地区已经获得了普遍的应用。Zope在美国也赢得了广泛的欢迎,目前对Zope的开发主要集中于简化开发过程和进一步将功能同内容的表示相分离,从而再度增加了Zope的普及率,同Python一样Zope也是开放源代码软件。 

    Zope确实引入了相当的系统负荷,从而在开发期间降低了系统的性能,但是采用某些技术可以有效地把部署网站时产生的问题最小化。 

    Jython 

      在考虑企业中的Python应用时,有一点往往被人们所忽略了,这就是Python的变种Jython。Jython完全用Java语言编写,实现快速地开发和应用程序测试,以远低于Java编辑-编译-测试的开发时间提升Java类库的运用。Jython还紧凑地集成了Python和Java的代码,令两者都可以充分利用对方的优点。而这正是Microsoft .NET的CLR技术所要实现的目标之一,但今天对Python来说这一切已经成为现实。 

    缺点 

    显然,Python的企业应用也应该严肃对待反对方的意见。反对Python作为企业级编程可行语言的主要观点如下: 

    * 相比其他编程语言,比如Java,Python的开发人员少很多。 
    * 缺乏真正的多处理器支持。 
    * 缺乏商业支持。 
    * 软件性能(不过各种评测都反复表明Python在大多数应用中堪与Java媲美)。 

    当然,缺乏商业支持是大多数开放源代码技术都面临的问题。对Python而言,一时也找不出个应景的法子。然而,最近一些关注Python的欧洲公司新组成了一个商务团体,也许这一举动标志着Python发展的一个崭新阶段(请参考Python商务论坛的网站)。 

    缺乏预包装的解决方案 

    PHP 在企业软件领域赢得了辉煌的成功,主要原因就在于其广泛实用的产品门类,比如讨论板、聊天服务器和分组日历以及即时消息系统等。相比之下,Python提供的解决方案就少多了。Python语言的分发版中确实包含了一些扩展的类库,越来越多的程序员也在致力于开发等价PHP的Python工具,但是考虑到市场的时间紧迫性,而且你所面临的问题已经有现成的PHP解决方案可以对付,那么PHP自然会成为你的首选。 

    Python在软件开发领域的劣势 

    大多数开发经理几乎很少了解Python。在现代IT领域的高压力环境下,项目管理人员缺乏对Python及其工具的了解、缺乏其软件开发方面的知识自然成为Python获得接受的死穴。毕竟,CIO或者开发主管受到最终胜利完成开发任务的沉重压力。在可能的收益却缺乏具体和诱人的证据这一现实条件下,大多数开发经理宁肯选择他们知道的东西。所以很少有人了解Python也就不奇怪了。 

    数据库访问层的局限性 

    相比现有的成熟技术,比如ODBC和JDBC,Python的数据库访问层看起来就过于原始了。虽然这一方面也在发生变化,但是,开发部门需要平滑地接合现有的复杂遗留数据,同时需要快速的SQL数据库访问,所有这一些使其在短时期内难以对Python表现出什么太大的兴趣。 

    不过,Python在这一领域发展的也很快,在半年左右的时间里,Python完全可能在其中踏上一只脚。 

    文档差距 

    相比其对手语言,比如Perl、Java,在某种程度上再算上PHP,Python确实深受文档缺乏之苦,Python没有广泛、易于获得的文档和图书。市面上冠以PHP标题的图书数量几乎是Python的两倍多;而Prel就更多了,它有400多种呢! 

    Python的在线文档 倒还组织得比较好,但是这些文档几乎全是些参考资料。幸而Python相当容易的学习曲线减轻了对图书资料的过多需要。 

    缺乏GUI和团队协作工具 

    给Python应用程序创建图形用户界面未必复杂。Python分发版本随带的Tk就是Python开发人员最常用的工具。但是Tk就缺乏可访问、易用的GUI工具。刚启动的PythonCard项目目前虽然还处于原型阶段,但可能在将来填补这一鸿沟。boa-constructor这种产品已经吸引了某些Python程序员,但是用它来创建全功能的IDE确实太复杂了。 

    相比GUI工具的缺乏更要命的是Python几乎没有支持团队开发的协议工具。 Java在这些工具领域可谓相当丰富,至少和C++可比。在企业软件开发市场上,这一缺陷简直可视为致命的要害。没有这类工具要让很多程序员共同开发同一项目几乎是不可能的。Python利用其模块化和命名空间分析等特性减轻了这一方面的需求,这些特性可以让多个程序员开发项目时不可能发生代码冲突的情况。但是,这同样改变不了其协同性能缺乏的严重性。 

    小结 

    说也说了做也做了,是否在企业中尝试或接受Python仍然是一个复杂的问题,具体问题具体分析。咱们把各种争论先放一边,至少可以得到下面的一些共识: 

    * 如果你已经拥有大量的PHP代码或者PHP应用程序,那么迁移到Python不可行。 

    * 如果你的Java代码基础雄厚但你需要大量的小型应用程序、小程序和代码接口,那么Python/Jython可能会为你节约大量开发时间。 

    * 如果你正好手下有一到两个程序员工作比较清闲,那么我建议你不妨让他们研究下Python看能不能在将来派上用场。 
    原文作者:东边的小山
    原文地址: https://blog.csdn.net/yelin042/article/details/78930974
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞