python一般认为是脚本语言,或者说是动态语言,速度慢肯定是所有解释性语言的缺点了,除此之外,python的多线程无法在多核上运行肯定也是需要解决的问题,不过它最大的优点就是敏捷,堪称敏捷开发的典范,适合的场合分两种:专业人士来做一些有意思的事情,比如写一些很有意思的脚本啊(黑客必学的语言之一);非专业人士用来做一些普通的事情,比如搭个自己的网站(django)或者一般的科学计算、格式转换等等。
PythonPython特点
1.软件质量(特色)
在很大程度上,python更注重可读性、一致性和软件质量,python的设计致力于可读性,带来了比其他语言更优秀的可重用性和可维护性,python秉承了一种独特的简洁和高可读性的语法,以及一种高度一致的编程序模式。
2.提高开发者效率(特色)
相对于C、C++、Java等编辑/静态类型语言,python的开发效率提升了3-5倍,也就是说代码量是其他编程语言的1/5-1/3,而且无需编译、链接步骤,提高程序员效率
3.程序可移植性
绝大多数python程序能不做任何修改即可在所有主流计算机平台上运行,此外,python提供多种可选的独立程序,如用户图形界面、数据库接入、基于web系统、还提供了操作系统接口等。
4.标准库
python内置了众多预编译并可移植的功能模块,涵盖了从字符模式到网络编程等一系列应用级编程任务;此外,python可通过自行开发的库和众多的第三方库简化编程,第三方库包括网站开发、数值计算、串口编写、游戏开发等各个应用场景。
5.组件集成
python脚本通过灵活的集成机制轻松的与应用程序的其他部分进行通信,这种集成使得python成为产品定制和扩展的工具,如今,python程序可以与C、C++相互调用,可以与java组件集成,与COM、.NET矿建通信。
6.享受编程乐趣
python的易用性和强大的内置工具和第三方库使得编程成为一种乐趣而不是琐碎的重复劳动。
python的缺点
目前Python的标准实现方式是将源代码编译成字节码形式,之后再将字节码解释执行,由于考虑到平台移植性,所以字节码被设计为一种与平台无关的格式。然而由于python没有将代码编译成底层的二进制代码,所以一些python程序将比像C这样的完全编译的语言慢。
Python的应用领域
Web应用开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,RedHatLinux和Fedora的Anaconda安装器。GentooLinux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它WindowsAPI。使用IronPython,Python程序能够直接调用.NetFramework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
科学计算
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。
桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
构思实现,产品早期原型和迭代
YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。