Python 简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。python
Python 的设计具备很强的可读性,相比其余语言常用英文关键字,其余语言的一些标点符号,它具备比其余语言更有特点语法结构。程序员
-
Python 是一种解释型语言: 这意味着开发过程当中没有了编译这个环节。相似于PHP和Perl语言。web
-
Python 是交互式语言: 这意味着,您能够在一个 Python 提示符 >>> 后直接执行代码。正则表达式
-
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。算法
-
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持普遍的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。shell
Python 发展历史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。数据库
Python 自己也是由诸多其余语言发展而来的,这包括 ABC、Modula-三、C、C++、Algol-6八、SmallTalk、Unix shell 和其余的脚本语言等等。编程
像 Perl 语言同样,Python 源代码一样遵循 GPL(GNU General Public License)协议。浏览器
如今 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着相当重要的做用,指导其进展。ruby
Python 特色
-
1.易于学习:Python有相对较少的关键字,结构简单,和一个明肯定义的语法,学习起来更加简单。
-
2.易于阅读:Python代码定义的更清晰。
-
3.易于维护:Python的成功在于它的源代码是至关容易维护的。
-
4.一个普遍的标准库:Python的最大的优点之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
-
5.互动模式:互动模式的支持,您能够从终端输入执行代码并得到结果的语言,互动的测试和调试代码片段。
-
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工做)到许多平台。
-
7.可扩展:若是你须要一段运行很快的关键代码,或者是想要编写一些不肯开放的算法,你可使用C或C++完成那部分程序,而后从你的Python程序中调用。
-
8.数据库:Python提供全部主要的商业数据库的接口。
-
9.GUI编程:Python支持GUI能够建立和移植到许多系统调用。
-
10.可嵌入: 你能够将Python嵌入到C/C++程序,让你的程序的用户得到"脚本化"的能力。
笔记
优势
- 简单 -- Python 是一种表明简单主义思想的语言。阅读一个良好的 Python 程序就感受像是在读英语同样,尽管这个英语的要求很是严格!Python 的这种伪代码本质是它最大的优势之一。它使你可以专一于解决问题而不是去搞明白语言自己。
- 易学 -- 就如同你即将看到的同样,Python 极其容易上手。前面已经提到了,Python 有极其简单的语法。
- 免费、开源 -- Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。FLOSS 是基于一个团体分享知识的概念。这是为何 Python 如此优秀的缘由之一——它是由一群但愿看到一个更加优秀的 Python 的人创造并常常改进着的。
- 高层语言 -- 当你用 Python 语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 可移植性 -- 因为它的开源本质,Python 已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部 Python 程序无需修改就能够在下述任何平台上面运行。这些平台包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、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 程序更加易于移植。
- 面向对象 -- Python 既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其余主要的语言如 C++ 和 Java 相比,Python 以一种很是强大又简单的方式实现面向对象编程。
- 可扩展性 -- 若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用 C 或 C++ 编写,而后在你的 Python 程序中使用它们。
- 丰富的库 -- Python 标准库确实很庞大。它能够帮助你处理各类工做,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 和其余与系统有关的操做。记住,只要安装了 Python,全部这些功能都是可用的。这被称做 Python 的“功能齐全”理念。除了标准库之外,还有许多其余高质量的库,如 wxPython、Twisted 和 Python 图像库等等。
- 规范的代码 -- Python 采用强制缩进的方式使得代码具备极佳的可读性。
缺点
- 运行速度,有速度要求的话,用 C++ 改写关键部分吧。
- 国内市场较小(国内以 Python 来作主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前不少国内软件公司,尤为是游戏公司,也开始规模使用他。
- 中文资料匮乏(好的 Python 中文资料屈指可数,如今应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容仍是只能看英语版。
- 构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 因为历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另外一个侧面说明,python比较优秀,吸引的人才多,项目也多。