看了Python的应用领域和就业前景,难怪有好多人去学

python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是c/c++)很轻松地联结在一起。
常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3d游戏中的图形渲染模块,性能要求特别高,就可以用c/c++重写,而后封装为python可以调用的扩展类库。
需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
python特点
1、python使用c语言开发,但是python不再有c语言中的指针等复杂的数据类型。
2、python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。
3、python代码块使用空格或制表符缩进的方式分隔代码。
4、python仅有31个保留字,而且没有分号、begin、end等标记。
5、python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。
python搭建开发环境
1、可以到python.org下载安装包,然后通过configure、make、makeinstall进行安装。
2、也可以到activestate去下载activepython组件包。(activepython是对python核心和常用模块的二进制包装,它是activestate公司发布的python开发环境。activepython使得python的安装更加容易,并且可以应用在各种操作系统上。activepython包含了一些常用的python扩展,以及windows环境的编程接口)。对activepython来说,如果你是windows用户,下载msi包安装即可;如果你是unix用户,下载tar.gz包直接解压即可。
3、python的ide,包括pythonwin、eclipse+pydev插件、komodo、editplus。
python的应用
1、系统编程:提供api(applicationprogramminginterface应用程序编程接口),能方便进行系统维护和管理,linux下标志性语言之一,是很多系统管理员理想的编程工具。
2、图形处理:有pil、tkinter等图形库支持,能方便进行图形处理。
3、数学处理:numpy扩展提供大量与许多标准数学库的接口。
4、文本处理:python提供的re模块能支持正则表达式,还提供sgml,xml分析模块,许多程序员利用python进行xml程序的开发。
5、数据库编程:程序员可通过遵循pythondb-api(数据库应用程序编程接口)规范的模块与microsoftsqlserver,oracle,sybase,db2,mysql、sqlite等数据库通信。python自带有一个gadfly模块,提供了一个完整的sql环境。
6、网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如zope,mnet及bittorrent.google都在广泛地使用它。
7、web编程:应用的开发语言,支持最新的xml技术。
8、多媒体应用:python的pyopengl模块封装了“opengl应用程序编程接口”,能进行二维和三维图像处理。pygame模块可用于编写游戏软件。
9、pymo引擎:pymo全称为pythonmemoriesoff,是一款运行于symbians60v3,symbian3,s60v5,symbian3,android系统上的avg游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memoriesoff)风格的avg游戏,故命名为pymo。
10、黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
用python写简单爬虫
通过上面这三句就可以将url的源码存在content变量中,其类型为字符型。
接下来是要从这堆html源码中提取我们需要的内容。用chrome查看一下对应的内容的代码(也可以用firefox的firebug)。
可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。
python应用场景
1、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脚本。
2、科学计算
numpy,scipy,matplotlib可以让python程序员编写科学计算程序。
3、桌面软件
pyqt、pyside、wxpython、pygtk是python快速开发桌面应用程序的利器。
4、服务器软件(网络软件)
python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
5、游戏
很多游戏使用c++编写图形显示等高性能模块,而使用python或者lua编写游戏的逻辑、服务器。相较于python,lua的功能更简单、体积更小;而python则支持更多的特性和数据类型。
6、构思实现,产品早期原型和迭代
youtube、google、yahoo!、nasa都在内部大量地使用python。
python的应用方向
1.常规软件开发
python支持函数式编程和oop面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。
2.科学计算
随着numpy,scipy,matplotlib,enthoughtlibrarys等众多程序库的开发,python越来越适合于做科学计算、绘制高质量的2d和3d图像。和科学计算领域最流行的商业软件matlab相比,python是一门通用的程序设计语言,比matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用python代劳的。
3.自动化运维
这几乎是python应用的自留地,作为运维工程师首选的编程语言,python在自动化运维方面已经深入人心,比如saltstack和ansible都是大名鼎鼎的自动化平台。
4.云计算
开源云计算解决方案openstack就是基于python开发的,搞云计算的同学都懂的。
5.web开发
基于python的web开发框架不要太多,比如耳熟能详的django,还有tornado,flask。其中的python+django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的web服务。
6.网络爬虫
也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。能够编写网络爬虫的编程语言有不少,但python绝对是其中的主流之一,其scripy爬虫框架应用非常广泛。
7.数据分析
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。python是数据分析的主流语言之一。
8.人工智能
python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。