python概述
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Python优缺点
优点:
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
易学:Python极其容易上手,因为Python有极其简单的说明文档 。
速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
缺点:
单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。
运行速度慢:这里是指与C和C++相比。
python适合做什么开发
Python不仅仅是一个设计优秀的程序语言,它能够完成现实中的各种任务,你可以在任何场合应用Python,从网站和游戏开发到机器人和航天飞机控制。
1、python可以用于系统编程。Python对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也被称为Shell工具)的理想工具。
Python程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等等。
2、python可以用于用户图形接口。Python的简洁以及快速的开发周期十分适合开发GUI程序。
此外,基于C++平台的工具包wxPythonGUIAPI可以使用Python构建可移植的GUI。诸如PythonCard和Dabo等一些高级工具包是构建在wxPython和Tkinter的基础API之上的。通过适当的库,你可以使用其他的GUI工具包,例如,Qt、GTK、MFC和Swing等。
3、python可以用于Internet脚本。Python提供了标准Internet模块,使Python能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。而且网络上还可以获得很多使用Python进行Internet编程的第三方工具此外,Python涌现了许多Web开发工具包,例如,Django、TurboGears、Pylons、Zope和WebWare,使Python能够快速构建功能完善和高质量的网站。
4、python可以用于组件集成。在介绍Python作为控制语言时,曾涉及它的组件集成的角色。Python可以通过C/C++系统进行扩展,并能够嵌套C/C++系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为。
例如,将一个C库集成到Python中,能够利用Python进行测试并调用库中的其他组件;将Python嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。
5、python能用于数据库编程。对于传统的数据库需求,Python提供了对所有主流关系数据库系统的接口,Python定义了一种通过Python脚本存取SQL数据库系统的可移植的数据库API,这个API对于各种底层应用的数据库系统都是统一的。
所以一个写给自由软件MySQL 系统的脚本在很大程度上不需改变就可以工作在其他系统上(例如,Oracle )-- 你仅需要将底层的厂商接口替换掉就可以实现。
6.python 可以用于快速原型。对于Python 程序来说,使用Python 或C编写的组件看起来都是一样的。正因为如此,我们可以在一开始利用Python 做系统原型,之后再将组件移植到C或C++ 这样的编译语言上。
7.python 可以用于数值计算和科学计算编程。我们之前提到过的NumPy 数值编程扩展包括很多高级工具,通过将Python 与出于速度考虑而使用编译语言编写的数值计算的常规代码进行集成,其他一些数值计算工具为Python 提供了动画、3D 可视化、并行处理等功能的支持。
8.python 可以用于游戏、图像、人工智能、XML 、机器人等。 Python 的应用领域很多,远比这里提到的多得多。 例如,可以利用pygame 系统使用Python 对图形和游戏进行编程;用PIL 和其他的一些工具进行图像处理;用PyRo 工具包进行机器人控制编程。
Python语言在未来的发展前景
Python语言在学术上非常受欢迎,不是计算机专业的人,很多都在学习Python。因为这个语言的前景是不可限量的,而且他的语法非常的简单易懂,这就让很多一些提及编程就恐慌的人减去了担心,现在已经是一人应该掌握一门编程语言的时代,很多不是程序员的人们,利用自己写的简单的小程序,让自己生活变得精彩起来,不管是因为兴趣,还是其他,生活好像变得美好起来,有了一些追求。
发展前景一:Linux运维
Linux运维是必须而且一定要掌握Python语言,Python是一门非常NB的编程语言,它可以满足Linux运维工程师的工作需求提升效率,总而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现,才能证明自身的能力。
发展前景二:Python Web网站工程师
我们都知道Web一直都是不可忽视的存在,我们离不开网络,离不开Web,利用Python的框架可以做网站,而且都是一些精美的前端界面,还有我们需要掌握一些数据的应用。
发展前景三:Python自动化测试
大家都知道,就是Python语言对测试的帮助是非常大的,自动化测试中Python语言的用途很广,可以说Python太强大,掌握和熟悉自动化的流程,方法和我们总使用的各个模板,到现在为止,我了解的Python使用最多的应该是自动化测试。
发展前景四:数据分析
我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率。
发展前景五:人工智能
我们都知道谷歌制作出了的机器人战胜了一个围棋大师,这个就是目前刚出头的人工智能,当然我们的人工智能时代还没有到来,如果这天来了,生活和世界将会发生翻天覆地的变化,而且现在发展这么快,人工智能的时代不会太远。
评论
查看更多